Question about how to re-initialize call_used registers via init_regs()

Kai Tietz
Wed Dec 3 10:16:00 GMT 2008

Hi Honza,

Related to the problem 38366 me and M. Lankhorst (a wine developer), that 
you were right, that the registers %rsi and %rdi aren't saved for callabi 
switching by ms_abi functions calling sysv_abi. This is reasoned by the 
fact that the fndecl based conditional register usage macro (in i386.h) 
calls  init_regs (from regclass.c), which resets it back to the standard 
register usage, so this code is somehow meaning less at the moment.
I tried it by generate a init_regs_after method (like the init_regs in 
regclass.c), which simply does not reset back to the initial register 
usage set, and use it in the OVERRIDE_REGISTER_USAGE. But this seems to 
lead to bootstrap failures on linux64 targets. What way you would suggest 
to solve this problem?

Thanks in advance,

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

More information about the Gcc-patches mailing list