• Austin Clements's avatar
    [dev.power64] 9g: fix nilopt · 81001928
    Austin Clements authored
    Previously, nilopt was disabled on power64x because it threw
    away "seemly random segments of code."  Indeed, excise on
    power64x failed to preserve the link field, so it excised not
    only the requested instruction but all following instructions
    in the function.  Fix excise to retain the link field while
    otherwise zeroing the instruction.
    
    This makes nilopt safe on power64x.  It still fails
    nilptr3.go's tests for removal of repeated nil checks because
    those depend on also optimizing away repeated loads, which
    doesn't currently happen on power64x.
    
    LGTM=dave, rsc
    R=rsc, dave
    CC=golang-codereviews
    https://golang.org/cl/168120043
    81001928
peep.c 2.54 KB