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: REG_OK_STRICT and EXTRA_CONSTRAINT


Hans-Peter Nilsson wrote:
Some ports, notably MMIX, are using different definitions of
EXTRA_CONSTRAINT depending on REG_OK_STRICT. This can be a bug, because
the same instruction may be considered invalid in reload.c and valid by
recog.c.

When I wrote that code, accounting for REG_OK_STRICT was not a
bug, but TRT. (I'm about two months behind on mailing list
reading, so I guess things may have changed as things tend to
do.)
No, this is just a branch so don't worry.

Anyway, I was not meaning to *not* account for anything, but just to replace REG_OK_STRICT with checks on reload_in_progress and reload_completed. I understand the semantics that you wanted for 'U'.

The bug may be that in some cases, 'U' is checked for memory_address_p instead of strict_memory_address_p even after reload, in particular when it is recog.c that is constraining the operands.

My opinion is that regtesting and checking that the same
assembly is emitted before and after the patch would be
sufficient testing... It's definitely not safe without. ;)

Okay.


Paolo


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