aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2018-06-13 20:32:10 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2018-06-13 20:32:10 +0000
commit1df5fce42a295ae8cb34c6a4aae30814679b0b59 (patch)
tree0dd19ecdee4854a48eb38384caaf3269c7fc8e20 /gcc/tree.c
parenta7bf6c088934ef39a937069fca7408c7f540c551 (diff)
downloadgcc-1df5fce42a295ae8cb34c6a4aae30814679b0b59.zip
gcc-1df5fce42a295ae8cb34c6a4aae30814679b0b59.tar.gz
gcc-1df5fce42a295ae8cb34c6a4aae30814679b0b59.tar.bz2
compiler: avoid introducing redundant write barriers
The traversal used by the write barrier insertion phase can sometimes wind up visiting new statements inserted during the traversal, which then results in duplicate / redundant write barrier guards. Example program to reproduce: package small type S struct { N *S K int } var G *S = &S{N: nil, K: 101} This patch changes the traversal code to keep track of statements already added and avoid processing them again later in the traversal. Fixes golang/go#25867 Reviewed-on: https://go-review.googlesource.com/118637 From-SVN: r261568
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions