diff options
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 04cb287..f1db037 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -342,10 +342,11 @@ outermost_invariant_loop_expr (tree expr, struct loop *loop) if (class != tcc_unary && class != tcc_binary && class != tcc_expression + && class != tcc_vl_exp && class != tcc_comparison) return NULL; - nops = TREE_CODE_LENGTH (TREE_CODE (expr)); + nops = TREE_OPERAND_LENGTH (expr); for (i = 0; i < nops; i++) { aloop = outermost_invariant_loop_expr (TREE_OPERAND (expr, i), loop); @@ -817,10 +818,11 @@ force_move_till_expr (tree expr, struct loop *orig_loop, struct loop *loop) if (class != tcc_unary && class != tcc_binary && class != tcc_expression + && class != tcc_vl_exp && class != tcc_comparison) return; - nops = TREE_CODE_LENGTH (TREE_CODE (expr)); + nops = TREE_OPERAND_LENGTH (expr); for (i = 0; i < nops; i++) force_move_till_expr (TREE_OPERAND (expr, i), orig_loop, loop); } |