aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-03-19 22:46:30 +0000
committerJeff Law <law@redhat.com>2004-03-19 22:46:30 +0000
commit5c090ad2ed157e548dccb3f69ce94b47df27ac0f (patch)
treee4a99d7735d78813b0cb1da76afefa29ae3c33e1
parent36eada0461021b476bbe3cee4801507421dff67d (diff)
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Fix typo.
Eliminate unnecessary test of VAL. * gcc.c-torture/execute/20040319-1.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@79706 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.tree-ssa3
-rw-r--r--gcc/testsuite/ChangeLog.tree-ssa4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20040319-1.c17
-rw-r--r--gcc/tree-ssa-dom.c4
4 files changed, 26 insertions, 2 deletions
diff --git a/gcc/ChangeLog.tree-ssa b/gcc/ChangeLog.tree-ssa
index b3fee0543ba..65fdd68a186 100644
--- a/gcc/ChangeLog.tree-ssa
+++ b/gcc/ChangeLog.tree-ssa
@@ -5,6 +5,9 @@
2003-03-19 Jeff Law <law@redhat.com>
+ * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Fix typo.
+ Eliminate unnecessary test of VAL.
+
* tree-dfa.c (find_hidden_use_vars): Also look inside the
PENDING_SIZES list for hidden uses.
* tree-optimize.c (tree_rest_of_compilation): Expand used variables
diff --git a/gcc/testsuite/ChangeLog.tree-ssa b/gcc/testsuite/ChangeLog.tree-ssa
index 19a03980d45..8390e4c2af7 100644
--- a/gcc/testsuite/ChangeLog.tree-ssa
+++ b/gcc/testsuite/ChangeLog.tree-ssa
@@ -1,3 +1,7 @@
+2004-03-19 Jeff Law <law@redhat.com>
+
+ * gcc.c-torture/execute/20040319-1.c: New test.
+
2004-03-17 Jeff Law <law@redhat.com>
* gcc.c-torture/compile/20040317-1.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040319-1.c b/gcc/testsuite/gcc.c-torture/execute/20040319-1.c
new file mode 100644
index 00000000000..357932d9b24
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20040319-1.c
@@ -0,0 +1,17 @@
+int
+blah (int zzz)
+{
+ int foo;
+ if (zzz >= 0)
+ return 1;
+ foo = (zzz >= 0 ? (zzz) : -(zzz));
+ return foo;
+}
+
+main()
+{
+ if (blah (-1) != 1)
+ abort ();
+ else
+ exit (0);
+}
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 4d9c7c9736a..d8dfc02de47 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -1794,7 +1794,7 @@ simplify_rhs_and_lookup_avail_expr (struct dom_walk_data *walk_data,
if (! dummy_cond)
{
- dummy_cond = build (GT_EXPR, boolean_type_node,
+ dummy_cond = build (LT_EXPR, boolean_type_node,
op, integer_zero_node);
dummy_cond = build (COND_EXPR, void_type_node,
dummy_cond, NULL, NULL);
@@ -1817,7 +1817,7 @@ simplify_rhs_and_lookup_avail_expr (struct dom_walk_data *walk_data,
{
tree t;
- if (val && integer_onep (val))
+ if (integer_onep (val))
t = build1 (NEGATE_EXPR, TREE_TYPE (op), op);
else
t = op;