aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-06-08 12:52:12 +0200
committerRichard Biener <rguenther@suse.de>2021-06-08 15:09:18 +0200
commit7a56d3d3e99cc77ad8a6a674870c814da6225675 (patch)
treec152bfdd65cfe5dcb2b61a5d5b46cefaffc3e95d /gcc/cp/decl.c
parent4bd2cdb74e26f68a4e9d51e74ace60326c9950d1 (diff)
downloadgcc-7a56d3d3e99cc77ad8a6a674870c814da6225675.zip
gcc-7a56d3d3e99cc77ad8a6a674870c814da6225675.tar.gz
gcc-7a56d3d3e99cc77ad8a6a674870c814da6225675.tar.bz2
tree-optimization/100923 - fix alias-ref construction wrt availability
This PR shows that building an ao_ref from value-numbers is prone to expose bogus contextual alias info to the oracle. The following makes sure to construct ao_refs from SSA names available at the program point only. On the way it modifies the awkward valueize_refs[_1] API. 2021-06-08 Richard Biener <rguenther@suse.de> PR tree-optimization/100923 * tree-ssa-sccvn.c (valueize_refs_1): Take a pointer to the operand vector to be valueized. (valueize_refs): Likewise. (valueize_shared_reference_ops_from_ref): Adjust. (valueize_shared_reference_ops_from_call): Likewise. (vn_reference_lookup_3): Likewise. (vn_reference_lookup_pieces): Likewise. Re-valueize with honoring availability when we are about to create the ao_ref and valueized before. (vn_reference_lookup): Likewise. (vn_reference_insert_pieces): Adjust. * gcc.dg/torture/pr100923.c: New testcase.
Diffstat (limited to 'gcc/cp/decl.c')
0 files changed, 0 insertions, 0 deletions