aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 8c53e6f..27035360 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -299,7 +299,8 @@ execute_fixup_cfg (void)
tree call = get_call_expr_in (stmt);
tree decl = call ? get_callee_fndecl (call) : NULL;
- if (decl && call_expr_flags (call) & (ECF_CONST | ECF_PURE)
+ if (decl && call_expr_flags (call) & (ECF_CONST | ECF_PURE
+ | ECF_LOOPING_CONST_OR_PURE)
&& TREE_SIDE_EFFECTS (call))
{
if (gimple_in_ssa_p (cfun))