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]

Question on canonical representation of PLUS..



Is it correct to believe that an address constant like


(plus:QI (symbol_ref:QI ("bs"))
    (const_int 1 [0x1]))

should always be wrapped in a CONST rtx?  I've suddenly started to
get assertion failures because my EXTRA_CONSTRAINTS checks for memory
addresses that are CONSTANT_ADDRESS_P.

It appears that the first CSE pass is substituting in a non-CONST
rtx in place of the CONST that originally appeared.

I can certainly fix this in my backend by checking for PLUS with
CONSTANT_P operands, but I am guessing that that would just wallpaper
over the real bug....

-- Al


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