[Bug tree-optimization/114207] [12/13/14/15 Regression] modref gets confused by vecotorized code ` -O3 -fno-tree-forwprop` since r12-5439
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 22 15:11:59 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114207
--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The offset gets lost in ipa-prop.cc
diff --git a/gcc/ipa-prop.cc b/gcc/ipa-prop.cc
index 7d7cb3835d2..99ebd6229ec 100644
--- a/gcc/ipa-prop.cc
+++ b/gcc/ipa-prop.cc
@@ -1370,9 +1370,9 @@ unadjusted_ptr_and_unit_offset (tree op, tree *ret,
poly_int64 *offset_ret)
{
if (TREE_CODE (op) == ADDR_EXPR)
{
- poly_int64 extra_offset = 0;
+ poly_int64 extra_offset;
tree base = get_addr_base_and_unit_offset (TREE_OPERAND (op, 0),
- &offset);
+ &extra_offset);
if (!base)
{
base = get_base_address (TREE_OPERAND (op, 0));
here offset is the offset being tracked and get_addr_base_and_unit_offset is
intended to initialize extra_offset which is later added to offset.
In the testcase the pointer is first offseted by +4 and later by -4 which
combines to 0.
More information about the Gcc-bugs
mailing list