• Michael Munday's avatar
    cmd/compile: fix type propagation through s390x SSA rules · ddf807fc
    Michael Munday authored
    This CL fixes two issues:
    
    1. Load ops were initially always lowered to unsigned loads, even
       for signed types. This was fine by itself however LoadReg ops
       (used to re-load spilled values) were lowered to signed loads
       for signed types. This meant that spills could invalidate
       optimizations that assumed the original unsigned load.
    
    2. Types were not always being maintained correctly through rules
       designed to eliminate unnecessary zero and sign extensions.
    
    Fixes #18906.
    
    Change-Id: I95785dcadba03f7e3e94524677e7d8d3d3b9b737
    Reviewed-on: https://go-review.googlesource.com/36256
    Run-TryBot: Michael Munday <munday@ca.ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    ddf807fc
issue18906.go 526 Bytes