diff options
author | Jeff Law <law@redhat.com> | 2004-03-19 22:46:30 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 2004-03-19 22:46:30 +0000 |
commit | 5c090ad2ed157e548dccb3f69ce94b47df27ac0f (patch) | |
tree | e4a99d7735d78813b0cb1da76afefa29ae3c33e1 | |
parent | 36eada0461021b476bbe3cee4801507421dff67d (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-ssa | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog.tree-ssa | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20040319-1.c | 17 | ||||
-rw-r--r-- | gcc/tree-ssa-dom.c | 4 |
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; |