diff options
author | Richard Biener <rguenther@suse.de> | 2024-07-21 11:56:07 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-08-01 12:27:53 +0200 |
commit | ed03af4ef3b9ad0bd3b7c5c678c02253e5cb9e0f (patch) | |
tree | 7007ccdff6659e84a47c466050a39515caa8b4d9 /gcc/modulo-sched.cc | |
parent | c71646436a55afdd36948d7e7292b3bd5de04e1a (diff) | |
download | gcc-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