• Marvin Stenger's avatar
    cmd/compile: avoid copying in nilcheckelim2 · bad5abf6
    Marvin Stenger authored
    nilcheckelim2 cleans up by copying b.Values in a loop, omitting
    OpUnknowns. However, the common case is that there are no OpUnknowns,
    in which case we can skip a lot of work.
    
    So we track the first nilcheck which was eliminated, if any, and only
    start copying from there. If no nilcheck was eliminated we won't copy at all.
    
    Fixes #20964
    
    Change-Id: Icd44194cf8ac81ce6485ce257b4d33e093003a40
    Reviewed-on: https://go-review.googlesource.com/65651
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    bad5abf6
nilcheck.go 7.25 KB