• David Chase's avatar
    [dev.ssa] cmd/compile: addressed vars and closures · 956f3199
    David Chase authored
    Cleaned up first-block-in-function code.
    Added cases for |PHEAP for PPARAM and PAUTO.
    Made PPARAMOUT act more like PAUTO for purposes
    of address generation and vardef placement.
    Added cases for OCLOSUREVAR and Ops for getting closure
    pointer.  Closure ops are scheduled at top of entry block
    to capture DX.
    
    Wrote test that seems to show proper behavior for addressed
    parameters, locals, and returns.
    
    Change-Id: Iee93ebf9e3d9f74cfb4d1c1da8038eb278d8a857
    Reviewed-on: https://go-review.googlesource.com/14650Reviewed-by: default avatarKeith Randall <khr@golang.org>
    Run-TryBot: David Chase <drchase@google.com>
    956f3199
addressed_ssa.go 4.34 KB