diff options
author | Richard Biener <rguenther@suse.de> | 2024-01-31 11:28:50 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-01-31 12:29:19 +0100 |
commit | 724b64304ff5c8ac08a913509afd6fde38d7b767 (patch) | |
tree | a9919753900b9f3b5fa99781d921c6641169b86c /gcc/c/c-decl.cc | |
parent | b59775b642bb2b1ecd2e6d52c988b9c432117bc8 (diff) | |
download | gcc-724b64304ff5c8ac08a913509afd6fde38d7b767.zip gcc-724b64304ff5c8ac08a913509afd6fde38d7b767.tar.gz gcc-724b64304ff5c8ac08a913509afd6fde38d7b767.tar.bz2 |
tree-optimization/113630 - invalid code hoisting
The following avoids code hoisting (but also PRE insertion) of
expressions that got value-numbered to another one that are not
a valid replacement (but still compute the same value). This time
because the access path ends in a structure with different size,
meaning we consider a related access as not trapping because of the
size of the base of the access.
PR tree-optimization/113630
* tree-ssa-pre.cc (compute_avail): Avoid registering a
reference with a representation with not matching base
access size.
* gcc.dg/torture/pr113630.c: New testcase.
Diffstat (limited to 'gcc/c/c-decl.cc')
0 files changed, 0 insertions, 0 deletions