Andrew Haley <[EMAIL PROTECTED]> writes: > In the RTL code it moves the mem ref, not just the address: > > (call (mem:QI (symbol_ref:DI ("_Jv_InitClass") [flags 0x41] > > (set (reg/f:DI 95 [ #ref#8#1 ]) > (mem/s/u/f/j:DI (const:DI (plus:DI (symbol_ref:DI > ("_CD_java_text_Collator") > (const_int 16 [0x10]))) > > is turned to: > > (set (reg/f:DI 162 [ #ref#8#1 ]) > (mem/s/u/f/j:DI (const:DI (plus:DI (symbol_ref:DI > ("_CD_java_text_Collator") > (const_int 16 [0x10]))) > > ... > > (call (mem:QI (symbol_ref:DI ("_Jv_InitClass")
As far as I know, that should happen if _Jv_InitClass is pure or const. Note that if gcc can see the source for _Jv_InitClass, it will decide for itself whether it is pure or const. Ian