This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: spill failure after IF-CASE-2 transformation


>Not really. I think in dead_or_predicable you need to check in the
>  /* Try the NCE path if the CE path did not result in any changes.  */
>block (I assume this is where we end up in this testcase) that none of
>the live hard regs at the point where we are going to insert the insns
>are in small register classes. small_register_classes_for_mode_p is
>unfortunately not a good interface to answer that question.
>
>It looks like noce_get_condition probably didn't find the instruction
>setting CC? Maybe you can paper over the problem for the moment by
>making sure it does.

The problem with noce_get_condition is that if the condition variable is a MODE_INT register it will return it and set earliest as the jump insn itself.  I'm not sure why this is the case, but it seems like something we don't want to be doing in this situation.  Is there a reasonable check that should be made to avoid noce_get_condition doing this?
e.g. if the condition var is a reg and !small_register_classes_for_mode_p.

Thanks,
Stu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]