• Austin Clements's avatar
    cmd/compile: introduce LivenessMap and LivenessIndex · d7d9df8a
    Austin Clements authored
    Currently liveness only produces a stack map index at each safe point,
    so the information is summarized in a map[*ssa.Value]int. We're about
    to have both a stack map index and a register map index, so replace
    the int with a LivenessIndex type we can extend, and replace the map
    with a LivenessMap that we can also change more easily in the future.
    
    This also gives us an easy hook for defining the value that means "not
    a safe point".
    
    Passes toolstash -cmp.
    
    For #24543.
    
    Change-Id: Ic4c069839635efed4fd0f603899b80f8be3b56ec
    Reviewed-on: https://go-review.googlesource.com/109347
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarKeith Randall <khr@golang.org>
    d7d9df8a
ssa.go 174 KB