summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-12 19:59:16 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-12 19:59:16 +0000
commit54aceb26880f3f980cf33c2913fc2b7842233e13 (patch)
treec76d6731feeecd4ca0a01da9f4b777624a718874 /gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
parent9d1e88f076eb4a08b3d0175495f2e11ee49d8ec2 (diff)
downloadgcc-54aceb26880f3f980cf33c2913fc2b7842233e13.tar.gz
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Remove
reassociation code. * passes.c (init_optimization_passes): Run reassociation again after loop optimizations. * tree-ssa-dom.c (thread_across_edge): Canonicalize condition if necessary. (optimize_stmt): Ditto. (canonicalize_comparison): New function. * tree-ssa-operands.c (swap_tree_operands): Make external. (get_expr_operands): Stop auto-canonicalization. * tree-ssa-reassoc.c: Rewrite. (init_optimization_passes): * tree-flow.h (swap_tree_operands): Prototype. * Makefile.in (tree-ssa-reassoc.o): Update dependencies. * gcc.dg/tree-ssa/ssa-pre-2.c: Update due to reassociation changes. * gcc.dg/tree-ssa/reassoc-1.c: Likewise. * gcc.dg/tree-ssa/reassoc-2.c: Likewise. * gcc.dg/tree-ssa/reassoc-3.c: Likewise. * gcc.dg/tree-ssa/reassoc-4.c: Likewise. * gcc.dg/tree-ssa/reassoc-5.c: New. * gcc.dg/tree-ssa/reassoc-6.c: New. * gcc.dg/tree-ssa/reassoc-7.c: New. * gcc.dg/tree-ssa/reassoc-8.c: New. * gcc.dg/tree-ssa/reassoc-9.c: New. * gcc.dg/tree-ssa/reassoc-10.c: New. * gcc.dg/tree-ssa/reassoc-11.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108425 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c')
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
index 3800497e900..6103c400ecb 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
@@ -1,18 +1,6 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-optimized -ffast-math" } */
-float a, b, c, d;
-extern int printf (const char *, ...);
-int main(void)
+int main(int a, int b, int c, int d)
{
- float e;
- float f;
- /* We should be able to transform these into the same expression, and only have two additions. */
- e = a + b;
- e = e + c;
- f = c + a;
- f = f + b;
- printf ("%f %f\n", e, f);
+ int e = (a & ~b) & (~c & d);
+ int f = (~c & a) & (b & ~d);
+ return (e & f);
}
-
-/* { dg-final { scan-tree-dump-times "\\\+" 2 "optimized"} } */
-/* { dg-final { cleanup-tree-dump "optimized" } } */