diff options
author | Richard Biener <rguenther@suse.de> | 2022-03-11 14:09:33 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-03-11 14:12:06 +0100 |
commit | eb5edcf3f3ae008a1c55c88f08a886a5f350a759 (patch) | |
tree | 02391bd2bb8424173f032ab327e446daf1380aae /gcc/builtins.h | |
parent | 69619acd8d9b5856f5af6e5323d9c7c4ec9ad08f (diff) | |
download | gcc-eb5edcf3f3ae008a1c55c88f08a886a5f350a759.zip gcc-eb5edcf3f3ae008a1c55c88f08a886a5f350a759.tar.gz gcc-eb5edcf3f3ae008a1c55c88f08a886a5f350a759.tar.bz2 |
tree-optimization/104880 - update-address-taken and cmpxchg
The following addresses optimistic non-addressable marking of
an argument of __atomic_compare_exchange_n which broke when
I added DECL_NOT_GIMPLE_REG_P since we cannot guarantee we can
rewrite it when TREE_ADDRESSABLE is unset. Instead we have to
restore TREE_ADDRESSABLE in that case.
2022-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/104880
* tree-ssa.cc (execute_update_address_taken): Remember if we
optimistically made something not addressable and
prepare to undo it.
* g++.dg/opt/pr104880.cc: New testcase.
Diffstat (limited to 'gcc/builtins.h')
0 files changed, 0 insertions, 0 deletions