* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL tree refs.
authorJan Hubicka <jh@suse.cz>
Mon, 23 Apr 2012 10:04:48 +0000 (12:04 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 23 Apr 2012 10:04:48 +0000 (10:04 +0000)
From-SVN: r186693

gcc/ChangeLog
gcc/tree-ssa-loop-ivopts.c

index 88968a07b15ec6237aaaee406bd6c5df257e2738..74951139573a0dc20dcd9bd85f41198b77d5592b 100644 (file)
@@ -1,3 +1,7 @@
+2012-04-22  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL tree refs.
+
 2012-04-22  Jan Hubicka  <jh@suse.cz>
 
        * lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
index 3c11c0e483455a0b9fc16122d0b5778a1de45d81..d346e0034e0a359a49dbc994e1d9b9ef5f36ed9f 100644 (file)
@@ -1411,7 +1411,8 @@ expr_invariant_in_loop_p (struct loop *loop, tree expr)
 
   len = TREE_OPERAND_LENGTH (expr);
   for (i = 0; i < len; i++)
-    if (!expr_invariant_in_loop_p (loop, TREE_OPERAND (expr, i)))
+    if (TREE_OPERAND (expr, i)
+       && !expr_invariant_in_loop_p (loop, TREE_OPERAND (expr, i)))
       return false;
 
   return true;