From: Jan-Benedict G. <jb...@us...> - 2005-05-23 11:26:45
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18630 Added Files: gcc-000008-fix-ICE-on-kernel_sched_c.patch Log Message: - Patch for PR#21638. Can be deleted once this PR is closed. --- NEW FILE: gcc-000008-fix-ICE-on-kernel_sched_c.patch --- This patch is basically http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21638 and *not* ment to be pushed in through the vax-linux project. Hopefully, it'll soon go in through testing by the bug tracking people. This patch is (C) 2005 by Andrew Pinski. When PR#21638 is closed, this patch should just be deleted. diff -Nurp src-gcc-fresh/gcc/tree-ssa-forwprop.c src-gcc-hacked/gcc/tree-ssa-forwprop.c --- src-gcc-fresh/gcc/tree-ssa-forwprop.c 2005-05-19 22:02:54.000000000 +0200 +++ src-gcc-hacked/gcc/tree-ssa-forwprop.c 2005-05-20 12:17:29.000000000 +0200 @@ -515,6 +515,7 @@ forward_propagate_addr_into_variable_arr /* Replace the pointer addition with array indexing. */ TREE_OPERAND (use_stmt, 1) = unshare_expr (TREE_OPERAND (stmt, 1)); TREE_OPERAND (TREE_OPERAND (TREE_OPERAND (use_stmt, 1), 0), 1) = index; + recompute_tree_invarant_for_addr_expr (TREE_OPERAND (use_stmt, 1)); /* That should have created gimple, so there is no need to record information to undo the propagation. */ @@ -633,6 +634,8 @@ forward_propagate_addr_expr (tree stmt) if (fold_stmt_inplace (use_stmt)) { tidy_after_forward_propagate_addr (use_stmt); + if (TREE_CODE (rhs) == ADDR_EXPR) + recompute_tree_invarant_for_addr_expr (rhs); return true; } else |