aboutsummaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-07-21 11:56:07 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2024-08-01 12:27:53 +0200
commited03af4ef3b9ad0bd3b7c5c678c02253e5cb9e0f (patch)
tree7007ccdff6659e84a47c466050a39515caa8b4d9 /gcc/modulo-sched.cc
parentc71646436a55afdd36948d7e7292b3bd5de04e1a (diff)
downloadgcc-ed03af4ef3b9ad0bd3b7c5c678c02253e5cb9e0f.zip
gcc-ed03af4ef3b9ad0bd3b7c5c678c02253e5cb9e0f.tar.gz
gcc-ed03af4ef3b9ad0bd3b7c5c678c02253e5cb9e0f.tar.bz2
tree-optimization/114659 - VN and FP to int punning
The following addresses another case where x87 FP loads mangle the bit representation and thus are not suitable for a representative in other types. VN was value-numbering a later integer load of 'x' as the same as a former float load of 'x'. We can use the new TARGET_MODE_CAN_TRANSFER_BITS hook to identify problematic modes and enforce strict compatibility for those in the reference comparison, improving the handling of modes with padding in visit_reference_op_load. PR tree-optimization/114659 * tree-ssa-sccvn.cc (visit_reference_op_load): Do not prevent punning from modes with padding here, but ... (vn_reference_eq): ... ensure this here, also honoring types with modes that cannot act as bit container. * gcc.target/i386/pr114659.c: New testcase.
Diffstat (limited to 'gcc/modulo-sched.cc')
0 files changed, 0 insertions, 0 deletions