This is a followup on a suggestion made along the thread at


where we were observing the middle-end setting invalid REG_EQUIV
notes on set(mem) insns. At the time we had fixed specific locations
where this was happening via explicit calls to set_unique_reg_note.

Steven suggested to add some code to set_unique_reg_note as well. This
patch implements this suggestion. We (AdaCore) have been using it without
problem for a while now, it turned out useful to prevent a real case in
the gcc-4.5 series and we never saw the original issue resurface again
since then.

Bootstrapped and regtested on x86_64-suse-linux

OK to commit ?

Thanks in advance,

With Kind Regards,


2012-04-12  Olivier Hainque  <hain...@adacore.com>

        * emit-rtl.c (set_unique_reg_note): Don't add REG_EQUAL or REG_EQUIV
        on a SET if the destination isn't a REG or a SUBREG of REG.

Attachment: regequiv.dif
Description: video/dv

Reply via email to