------- Comment #23 from bonzini at gnu dot org 2009-02-10 09:50 ------- > I guess it is too expensive to add a new reg class for each > register to support constraints for all registers.
This has no reference to the actual problem of this PR. The sparc testcase that Jakub posted is particularly significative, since you don't get ICEs but wrong code there. > Unfortunately this means that in a function which contains both local register > variables and an asm, we must severely restrict any code motion which may > involve a function call or the use of hidden registers. I think that in the GIMPLE grammar local register variables should be treated as memory, with loads and stores separated from the computations; and just like memory, each asm or function call should have a VUSE and (depending on the asm's inputs, outputs and clobbers; and in the case of function calls for call-clobbered local register variables) VDEF for the local register variables. -- bonzini at gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bonzini at gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-02-10 09:50:44 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39139