sra: Fix the fix for PR 102505 (PR 102886)
I was not careful with the fix for PR 102505 and did not craft the check to satisfy the verifier carefully, which lead to PR 102886. (The verifier has the test structured differently and somewhat redundantly, so I could not just copy it). This patch fixes it. I hope it is quite obvious correction of an oversight and so will commit it if survives bootstrap and testing on x86_64-linux and ppc64le-linux. Testcase for this bug is gcc.dg/tree-ssa/sra-18.c (but only on platforms with constant pools). I will backport the two fixes to the release branches squashed. gcc/ChangeLog: 2021-10-22 Martin Jambor <mjambor@suse.cz> PR tree-optimization/102886 * tree-sra.c (totally_scalarize_subtree): Fix the out of access-condition.
This commit is contained in:
parent
7518e4c2f0
commit
f217e87972
@ -3288,7 +3288,7 @@ totally_scalarize_subtree (struct access *root)
|
||||
continue;
|
||||
|
||||
HOST_WIDE_INT pos = root->offset + int_bit_position (fld);
|
||||
if (pos + fsize > root->size)
|
||||
if (pos + fsize > root->offset + root->size)
|
||||
return false;
|
||||
enum total_sra_field_state
|
||||
state = total_should_skip_creating_access (root,
|
||||
|
Loading…
Reference in New Issue
Block a user