This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[autovect] Fix test failures
- From: Devang Patel <dpatel at apple dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 16 Dec 2004 12:56:58 -0800
- Subject: [autovect] Fix test failures
This patch fixes following test failures on powerpc-darwin.
comparing ... g++.sum
Tests that now work, but didn't before:
g++.old-deja/g++.other/builtins2.C (test for excess errors)
New tests that PASS:
g++.old-deja/g++.other/builtins2.C execution test
comparing ... gcc.sum
Tests that now work, but didn't before:
gcc.c-torture/execute/builtins/strncpy.c compilation, -O1
gcc.c-torture/execute/builtins/strncpy.c compilation, -O2
gcc.c-torture/execute/builtins/strncpy.c compilation, -O3
-fomit-frame-pointer
gcc.c-torture/execute/builtins/strncpy.c compilation, -O3 -g
New tests that PASS:
gcc.c-torture/execute/builtins/strncpy.c execution, -O1
gcc.c-torture/execute/builtins/strncpy.c execution, -O2
gcc.c-torture/execute/builtins/strncpy.c execution, -O3
-fomit-frame-pointer
gcc.c-torture/execute/builtins/strncpy.c execution, -O3 -g
comparing ... objc.sum
comparing ... libstdc++.sum
Tests that now work, but didn't before:
21_strings/char_traits/requirements/char/1.cc (test for excess errors)
New tests that PASS:
21_strings/char_traits/requirements/char/1.cc execution test
-
Devang
Index: gcc/tree-ssa-forwprop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-forwprop.c,v
retrieving revision 2.8.14.2
diff -Idpatel.pbxuser -c -3 -p -r2.8.14.2 tree-ssa-forwprop.c
*** gcc/tree-ssa-forwprop.c 14 Dec 2004 08:45:57 -0000 2.8.14.2
--- gcc/tree-ssa-forwprop.c 16 Dec 2004 20:51:16 -0000
*************** replacable_use_in_cond_expr (tree stmt,
*** 515,527 ****
op0 = TREE_OPERAND (stmt, 0);
op1 = TREE_OPERAND (stmt, 1);
! if (SSA_NAME_DEF_STMT (op0) == def_stmt
&& is_gimple_min_invariant (op1))
{
candidate_op = op0;
other_op = op1;
}
! else if (SSA_NAME_DEF_STMT (op1) == def_stmt
&& is_gimple_min_invariant (op0))
{
candidate_op = op1;
--- 515,529 ----
op0 = TREE_OPERAND (stmt, 0);
op1 = TREE_OPERAND (stmt, 1);
! if (TREE_CODE (op0) == SSA_NAME
! && SSA_NAME_DEF_STMT (op0) == def_stmt
&& is_gimple_min_invariant (op1))
{
candidate_op = op0;
other_op = op1;
}
! else if (TREE_CODE (op1) == SSA_NAME
! && SSA_NAME_DEF_STMT (op1) == def_stmt
&& is_gimple_min_invariant (op0))
{
candidate_op = op1;