diff options
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r-- | gcc/tree-optimize.c | 3 |
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)) |