• Alexandru Moșoi's avatar
    cmd/compile: reenable phielim during rewrite · 7879e919
    Alexandru Moșoi authored
    Remove the "optimization" that was causing the issue.
    
    For the following code the "optimization" was
    converting v to (OpCopy x) which is wrong because
    x doesn't dominate v.
    
    b1:
        y = ...
        First .. b3
    b2:
       x = ...
       Goto b3
    b3:
       v = phi x y
       ... use v ...
    
    That "optimization" is likely no longer needed because
    we now have a second opt pass with a dce in between
    which removes blocks of type First.
    
    For pkg/tools/linux_amd64/* the binary size drops
    from 82142886 to 82060034.
    
    Change-Id: I10428abbd8b32c5ca66fec3da2e6f3686dddbe31
    Reviewed-on: https://go-review.googlesource.com/22312
    Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    7879e919
phielim.go 1.42 KB