On 06/25/14 09:50, Richard Henderson wrote:
On 06/25/2014 08:28 AM, Jeff Law wrote:
Ask an ARM maintainer if the new code is actually better than the old code.

It isn't.

It appears that with the peep2 pass moved that we actually if-convert the
fall-thru path of the conditional and eliminate the conditional. Which, on the
surface seems like a good thing.  It may be the case that we need to twiddle
the test.  Not sure yet.

Looking at the final code in the pr, it looks like we if-convert both ways,
just with changed condition on the test.
Yea, I came to the same conclusion when I looked back at the code in the BZ. I was too focused on Kai's message and the RTL contained within when I wrote my comment.


It looks like there are at least 3 peepholes in the arm backend that match
compare+branch with a scratch register that are affected by this.  I don't
think it's reasonable to expect a peephole to match compare + n cond_exec
insns, so running peep2 before if-conversion would seem to be called for.
Agreed.

jeff

Reply via email to