On 04/04/14 02:44, Ramana Radhakrishnan wrote:
On Thu, Apr 3, 2014 at 9:22 PM, Jeff Law <l...@redhat.com> wrote:


As noted in the PR, there are a few insns in the ARM backend which use
const_int_operand as a predicate, but which have constraints like "I" or
"M".

With the predicate accepting all constants, it's possible for a pass such as
combine to create an insn where the constant operand matches the loose
predicate, but will not match the tighter constraint.  WIth no other
alternatives to choose from, lra/reload won't be able to fixup the insn.

The right way (IMHO) is to tighten the predicate in these cases.  This patch
introduces const_int_I_operand and const_int_M_operand.

Bootstrapped on arm7l-unknown-linux-gnu (without java which fails for
unrelated reasons) and regression tested.  One system didn't have GDB
installed, so the atomic and guality tests were noisy and due to time
constraints, I haven't re-run them.

OK for the trunk?

This is OK and thanks for fixing this.
No problem. Just knocking out what I can in the hopes we can get to a 4.9 RC before summer :-) It feels like things are dragging out a big longer than normal.

jeff

Reply via email to