On 09/19/14 10:16, James Greenhalgh wrote:

On Fri, Sep 19, 2014 at 04:10:34PM +0100, Andreas Krebbel wrote:
On 09/19/2014 02:59 PM, James Greenhalgh wrote:

Hi,

After https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01615.html we error
on the use of constraints in define_splits, define_expands and
define_peephole2s. These are never looked at by the compiler, and so
have no reason to be set.

I expect there will be more fallout as Jan's auto-builder makes its way
through ports I haven't tested, I'll fix those up as they come up.

These are build failures, and the fixes are "obvious", but I don't know
my way around these ports, so I'd like an explicit maintainer ack.

For testing, I've just checked that the build error is resolved. In
principal, these are not functional changes as the constraints are
not looked at.

S/390 bootstrap fails with:
gcc/gcc/config/s390/s390.md:8397: operand 5 missing output reload

For the branch on index instruction we have a define_insn_and_split with a
single alternative forcing a split before reload. In this pattern to my
understanding the constraints are not really required.

Yes, if that is the existing supported behaviour for MATCH_OPERANDs (it
must be or your pattern would have been failing before), I don't want to
make MATCH_SCRATCH more restrictive.

The fix is a one-liner. Jeff, I presume we still want to permit this?
The alternate fix would be to make this an error in both cases.

Ok?

Thanks,
James

---
2014-09-14  James Greenhalgh  <james.greenha...@arm.com>

        * genrecog.c (validate_pattern): Allow empty constraints in
        a match_scratch.
OK. Yea, I think we want to permit -- I have vague recollections this is documented somewhere as "accept anything".

jeff

Reply via email to