ipa-sra: Check also ECF_LOOPING_CONST_OR_PURE when evaluating calls
in PR 103267 Honza found out that IPA-SRA does not look at ECF_LOOPING_CONST_OR_PURE when evaluating if a call can have side effects. Fixed with this patch. The testcase infinitely loops in a const function, so it would not make a good addition to the testsuite. gcc/ChangeLog: 2021-11-29 Martin Jambor <mjambor@suse.cz> PR ipa/103267 * ipa-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE flag.
This commit is contained in:
parent
7057b8f8c2
commit
e5440bc08e
1 changed files with 2 additions and 1 deletions
|
@ -1925,7 +1925,8 @@ scan_function (cgraph_node *node, struct function *fun)
|
|||
if (lhs)
|
||||
scan_expr_access (lhs, stmt, ISRA_CTX_STORE, bb);
|
||||
int flags = gimple_call_flags (stmt);
|
||||
if ((flags & (ECF_CONST | ECF_PURE)) == 0)
|
||||
if (((flags & (ECF_CONST | ECF_PURE)) == 0)
|
||||
|| (flags & ECF_LOOPING_CONST_OR_PURE))
|
||||
bitmap_set_bit (final_bbs, bb->index);
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue