This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: spill failure after IF-CASE-2 transformation
Ping.
>>looks like an invalid transformation, but I suspect rather than setting
>>the CC register, the (*) insn is setting a pseudo (more accurate RTL
>>would be useful). There are some cases in ifcvt.c which check
>>targetm.small_register_classes_for_mode already, this is probably what
>>should be done to prevent this transformation.
>
>You suspect correctly, cc=x sets CC whereas cc=y is a pseudo which can
>only match CC.
>
>Presumably I must check all instructions in the else_bb for
>modifications to small_register_classes_for_mode_p? e.g. see below.
>
>Does this seem reasonable?
Patch here:
http://gcc.gnu.org/ml/gcc/2012-02/msg00296.html
Thanks,
Stu