diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-08-23 22:38:58 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-08-23 22:38:58 +0000 |
commit | 6ae361ae458d4056d6c36fa42f1775c417457b10 (patch) | |
tree | 2abbeb7a9dc1276b8a53259a89738319fdee0f45 /gcc/fold-const-call.c | |
parent | 457dac402027dd7e14543fbd59a75858422cf6c6 (diff) | |
download | gcc-6ae361ae458d4056d6c36fa42f1775c417457b10.zip gcc-6ae361ae458d4056d6c36fa42f1775c417457b10.tar.gz gcc-6ae361ae458d4056d6c36fa42f1775c417457b10.tar.bz2 |
compiler: record pointer var values to remove write barriers
Record when a local pointer variable is set to a value such that
indirecting through the pointer does not require a write barrier. Use
that to eliminate write barriers when indirecting through that local
pointer variable. Only keep this information per-block, so it's not
all that applicable.
This reduces the number of write barriers generated when compiling the
runtime package from 553 to 524.
The point of this is to eliminate a bad write barrier in the bytes
function in runtime/print.go. Mark that function nowritebarrier so
that the problem does not recur.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191581
From-SVN: r274890
Diffstat (limited to 'gcc/fold-const-call.c')
0 files changed, 0 insertions, 0 deletions