• Michael Munday's avatar
    cmd/compile: stop rematerializable ops from clobbering flags · 2cb61aa3
    Michael Munday authored
    Rematerializable ops can be inserted after the flagalloc phase,
    they must therefore not clobber flags. This CL adds a check to
    ensure this doesn't happen and fixes the instances where it
    does currently.
    
    amd64: ADDQconst and ADDLconst were recently changed to be
    rematerializable in CL 54393 (only in tip, not 1.9). That change
    has been reverted.
    
    s390x: MOVDaddr could clobber flags when using dynamic linking due
    to a ADD with immediate instruction. Change the code generation to
    use LA/LAY instead.
    
    Fixes #21080.
    
    Change-Id: Ia85c882afa2a820a309e93775354b3169ec6d034
    Reviewed-on: https://go-review.googlesource.com/63030
    Run-TryBot: Michael Munday <mike.munday@ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    Reviewed-by: 's avatarIlya Tocar <ilya.tocar@intel.com>
    2cb61aa3
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...