pa reload problem

John David Anglin dave@hiauly1.hia.nrc.ca
Fri, 8 Dec 2000 20:07:23 -0500 (EST)


> On Fri, Dec 08, 2000 at 05:05:21PM -0500, John David Anglin wrote:
> > I am wondering if side_effects_p should return 1 if it encounters
> > an UNSPEC.
> 
> No, because an UNSPEC has no side effects.
> 
> As I said before, the simplest thing is to check for general_operand
> before creating the REG_EQUAL note.  Any other solution requires reload
> to Do Things to the INSN_CODE during rematerialization.

It is my impression that the MEM would pass as a general_operand unless
the volatile flag is set.  It will pass GO_IF_LEGITIMATE_ADDRESS.  Thus,
the general_operand test doesn't look like it will work.

Currently, the unchanging bit is set for the MEM.  The comments in
rtl.h say that the bit in a SYMBOL_REF is used for machine specific
purposes.  Could it be used to add machine dependent side effects to
a SYMBOL_REF (or possibly an UNSPEC)?

I think Doing Things to the INSN_CODE during rematerialization is too
late unless there is an initial check to determine whether this is possible.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)