Saga of m68k PIC continues
Jim Wilson
wilson@redhat.com
Thu Dec 12 14:32:00 GMT 2002
LEGITIMATE_PIC_OPERAND_P is mainly used during reload. You need to set things
up so that your predicates do not accept a symbol_ref as a valid operand.
You may need to modify the CONSTANT_ADDRESS_P macro that I mentioned a day or
two ago. You probably need to step through recog and figure out which
predicate is doing the wrong thing, and then figure out which macro to modify
to fix it.
The const isn't being stripped off anywhere. What is happening is that cse
is seeing the REG_EQUAL note, and deciding that the contents of the REG_EQUAL
note are cheaper than SET_SRC, and thus replacing the SET_SRC with the
REG_EQUAL note. That is what cse is supposed to do. To prevent cse from
doing this, you have to make the symbol_ref be an invalid operand, so that
the substitution won't succeed.
Jim
More information about the Gcc
mailing list