On Sun, Feb 5, 2012 at 6:27 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
>> PR target/28685>> * config/i386/i386.c (TARGET_FLAGS_REGNUM): New.>>>> Hmm, how is this (apparently new in 2011) TARGET_FLAGS_REGNUM> different from the older targetm.fixed_condition_code_regs?
This is how backend enables the pass, please see
gate_compare_elim_after_reload function in gcc/compare-elim.c.
FWIW, the value could be anything != INVALID_REGNUM.
Uros.

On 02/05/2012 07:27 AM, Uros Bizjak wrote:
> Hello!> > Attached patch enables post-reload compare optimization pass for x86 targets.
Hmm. Well, the only thing that's going to work for x86 is the double-compare
elimination portion.
If we want to use this pass for x86, then for 4.8 we should also fix the
discrepancy between the compare-elim canonical
[(operate)
(set-cc)]
and the combine canonical
[(set-cc)
(operate)]
(Because of the simplicity of the substitution in compare-elim, I prefer
the former as the canonical canonical.)
And, really, we ought to come up with some trick to eliminate some of the
redundancy in patterns in the md file too.
r~