summaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ir/expr.go
diff options
context:
space:
mode:
authorMichael Knyszek <mknyszek@google.com>2023-04-03 20:07:11 +0000
committerMichael Knyszek <mknyszek@google.com>2023-04-05 15:28:06 +0000
commite6130c66c87ba54b5847825ca68d221d8898ceb5 (patch)
tree70dd87f8ae610f1dba0729e6da5d8f14d6eb9891 /src/cmd/compile/internal/ir/expr.go
parentca305e101d89969b5cc6a812b1f12038b769aaa2 (diff)
downloadgo-git-e6130c66c87ba54b5847825ca68d221d8898ceb5.tar.gz
[release-branch.go1.19] cmd/compile: defer transitive inlining until after AST is edited
This CL changes the inliner to process transitive inlining iteratively after the AST has actually been edited, rather than recursively and immediately. This is important for handling indirect function calls correctly, because ir.reassigned walks the function body looking for reassignments; whereas previously the inlined reassignments might not have been actually added to the AST yet. Fixes #59158. This change was previously reverted as CL 481796 because the branch was frozen for release. Change-Id: I97fcd32956cc1349d87a92066e8559cb90da73b7 Reviewed-on: https://go-review.googlesource.com/c/go/+/481797 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Michael Knyszek <mknyszek@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ir/expr.go')
0 files changed, 0 insertions, 0 deletions