On 05/19/14 00:38, Bin.Cheng wrote:
On Sat, May 17, 2014 at 12:52 AM, Mike Stump <mikest...@comcast.net> wrote:
On May 16, 2014, at 3:07 AM, Bin.Cheng <amker.ch...@gmail.com> wrote:

I don't see how regrename will help resolve [base+offset] false
dependencies. Can you explain? I'd expect effects from
hardreg-copyprop "commoning" a base register.
It's the register operand's false dependency, rather than the base's
one.  Considering below simple case:
    mov r1,  #const1
    store r1, [base+offset1]
    mov r1, #const2
    store r1, [base_offset2]
It should be renamed into:
    mov r1,  #const1
    store r1, [base+offset1]
    mov r2, #const2
    store r2, [base_offset2]

Ah, but, what did this look like right before pass_web?
I don't think this would be a problem for pre-RA, generally GCC won't
try to reuse pseudo register in this way, right?
There's nothing which would prevent reuse of a pseudo in this manner; for example, a backend might do something ugly like this in an expander and we have to handle it properly.

jeff

Reply via email to