The GCC internal document says [1]:

[quote]
In the early stages of register allocation, a REG_EQUAL note is changed into a REG_EQUIV note if op is a constant and the insn represents the only set of its destination register.

Thus, compiler passes prior to register allocation need only check for REG_EQUAL notes and passes subsequent to register allocation need only check for REG_EQUIV notes.
[/quote]

But I still find REG_EQUAL notes in RTL dumps for those passes after IRA. My understanding is: a REG_EQUAL note is changed into a REG_EQUIV note in IRA when possible, but the remaining REG_EQUAL notes are still kept around. So the compiler passes after register allocation need check for both REG_EQUIV notes and REG_EQUAL notes. Is my understanding correct?


[1] http://gcc.gnu.org/onlinedocs/gccint/Insns.html#index-REG_005fEQUIV-2258


--
Jie Zhang
CodeSourcery
(650) 331-3385 x735

Reply via email to