]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtins-43.c: Use gimple dump instead of generic.
authorJan Hubicka <jh@suse.cz>
Fri, 13 May 2005 13:57:19 +0000 (15:57 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 13 May 2005 13:57:19 +0000 (13:57 +0000)
* gcc.dg/builtins-43.c: Use gimple dump instead of generic.
* gcc.dg/fold-xor-?.c: Likewise.
* gcc.dg/pr15784-?.c: Likewise.
* gcc.dg/pr20922-?.c: Likewise.
* gcc.dg/tree-ssa/20050128-1.c: Likewise.
* gcc.dg/tree-ssa/pr17598.c: Likewise.
* gcc.dg/tree-ssa/pr20470.c: Likewise.

* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
* tree-optimize.c (pass_gimple): Kill.
(init_tree_optimization_passes): Kill pass_gimple.
* tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
* tree-dump.c (dump_files): Rename .generic to .gimple.*

From-SVN: r99658

22 files changed:
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-43.c
gcc/testsuite/gcc.dg/fold-xor-1.c
gcc/testsuite/gcc.dg/fold-xor-2.c
gcc/testsuite/gcc.dg/pr15784-1.c
gcc/testsuite/gcc.dg/pr15784-2.c
gcc/testsuite/gcc.dg/pr15784-3.c
gcc/testsuite/gcc.dg/pr20130-1.c
gcc/testsuite/gcc.dg/pr20922-1.c
gcc/testsuite/gcc.dg/pr20922-2.c
gcc/testsuite/gcc.dg/pr20922-3.c
gcc/testsuite/gcc.dg/pr20922-4.c
gcc/testsuite/gcc.dg/pr20922-5.c
gcc/testsuite/gcc.dg/pr20922-6.c
gcc/testsuite/gcc.dg/tree-ssa/20050128-1.c
gcc/testsuite/gcc.dg/tree-ssa/pr17598.c
gcc/testsuite/gcc.dg/tree-ssa/pr20470.c
gcc/tree-cfg.c
gcc/tree-dump.c
gcc/tree-inline.c
gcc/tree-optimize.c

index 3aac1dcf96940fa71e38fd182ae7c9ee166a0a3c..61d986100ed1de5429210612cfae811a8ce932d5 100644 (file)
@@ -1,3 +1,11 @@
+2005-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
+       * tree-optimize.c (pass_gimple): Kill.
+       (init_tree_optimization_passes): Kill pass_gimple.
+       * tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
+       * tree-dump.c (dump_files): Rename .generic to .gimple.*
+
 2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
 
        PR rtl-optimization/20756:
index ece62d2eacf87eb35d361951e1bf3ef59bce8e9a..44abb234dc4bf2f27dd027540250aaafb85e39f2 100644 (file)
@@ -1,3 +1,13 @@
+2005-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/builtins-43.c: Use gimple dump instead of generic.
+       * gcc.dg/fold-xor-?.c: Likewise.
+       * gcc.dg/pr15784-?.c: Likewise.
+       * gcc.dg/pr20922-?.c: Likewise.
+       * gcc.dg/tree-ssa/20050128-1.c: Likewise.
+       * gcc.dg/tree-ssa/pr17598.c: Likewise.
+       * gcc.dg/tree-ssa/pr20470.c: Likewise.
+
 2005-05-11  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/21260
index 3043d5a96c2f5de914711d3fc6442b66b518c6da..4941ffd8904dd6b9f8f640b7aaa7ee02a87efc81 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fno-trapping-math -fdump-tree-generic -fdump-tree-optimized" } */
+/* { dg-options "-O1 -fno-trapping-math -fdump-tree-gimple -fdump-tree-optimized" } */
   
 extern void f(int);
 extern void link_error ();
@@ -46,8 +46,8 @@ main ()
 
 
 /* Check that all instances of __builtin_isnan were folded.  */
-/* { dg-final { scan-tree-dump-times "isnan" 0 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "isnan" 0 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
 
 /* Check that all instances of link_error were subject to DCE.  */
 /* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" } } */
index c8334e1875afef4d07ef2ffa6b70b0542247bc42..52b1ac4670e63b4e91858a62ce14726f9984dcad 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 
 int f (int a, int b) {
   return ~a ^ ~b;
@@ -8,5 +8,5 @@ int f (int a, int b) {
 unsigned int g (unsigned int a, unsigned int b) {
   return ~a ^ ~b;
 }
-/* { dg-final { scan-tree-dump-times "a \\^ b" 2 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "a \\^ b" 2 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 40c2c5d46c257d284bfa1e92305392a406418961..35337c9c9e83c4132192ed34c499023fa8f9aa23 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 int f (int a, int b) {
        return ~(a ^ -(b + 1));
 }
@@ -12,5 +12,5 @@ unsigned int h (unsigned int a, unsigned int b) {
        return ~(-(b + 1) ^ a);
 }
 
-/* { dg-final { scan-tree-dump-times "b \\^ a" 3 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "b \\^ a" 3 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index fea85568f3597581622058483616fad1894f270a..0e492a3babe13cb0c0af7b88e341441dd95905a3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 /* Test for folding abs(x) where appropriate.  */
 #define abs(x) x > 0 ? x : -x
 extern double fabs (double);
@@ -39,5 +39,5 @@ int h (float x) {
 int i (float x) {
        return fabs(x) == -0.0;
 }
-/* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 2cd2de5e0f70139f98e5d159070e9642b668145f..eb1608c64edc4ea3db7cd59235f9bed9087250b4 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic -ffast-math" } */
+/* { dg-options "-fdump-tree-gimple -ffast-math" } */
 /* Test for folding abs(x) where appropriate.  */
 #define abs(x) x > 0 ? x : -x
 extern double fabs (double);
@@ -8,5 +8,5 @@ int a (float x) {
        return fabs(x) >= 0.0;
 }
 
-/* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index f8a3e5af91939749ab63ea6a8da550963d790771..a8bdc552cde26211ec56025591ed150b5f53c14c 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* SH4 without -mieee defaults to -ffinite-math-only.  */
-/* { dg-options "-fdump-tree-generic -fno-finite-math-only" } */
+/* { dg-options "-fdump-tree-gimple -fno-finite-math-only" } */
 /* Test for folding abs(x) where appropriate.  */
 #define abs(x) x > 0 ? x : -x
 extern double fabs (double);
@@ -9,5 +9,5 @@ int a (float x) {
        return fabs(x) >= 0.0;
 }
 
-/* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 7097ff600eb2b63ff028d96d3fc4c1b311b72804..43ba57b62cca4466b73d34941fb7f5c61abb9db3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 int z (int a) {
        return a * -1;
 }
@@ -11,4 +11,4 @@ int x (int a) {
 int y (int a) {
        return -(-1 * -a);
 }
-/* { dg-final { scan-tree-dump-times "-a" 3 "generic" } } */
+/* { dg-final { scan-tree-dump-times "-a" 3 "gimple" } } */
index c016356c8abe6b299e9918d9a26aa4c5acc267a5..64a75f525663ffda155b90e52b5bcc3be6c64290 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fno-wrapv -fdump-tree-generic" } */
+/* { dg-options "-fno-wrapv -fdump-tree-gimple" } */
 int f(int i)
 {
   return (i - 2) > i;
@@ -34,5 +34,5 @@ int z(double i)
 {
   return (i + (-2.0)) > i;
 }
-/* { dg-final { scan-tree-dump-times " = 0" 7 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 0" 7 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 3c4380f8d0017340516f50497303fdd5933aa54b..4bbebfd5f17d422a1187c9df32aabe4b7445ba8d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fwrapv -fdump-tree-generic" } */
+/* { dg-options "-fwrapv -fdump-tree-gimple" } */
 int f (int i)
 {
   return (i - 2) > i;
@@ -14,5 +14,5 @@ int h (double i)
 {
   return (i + 2.0) <= i;
 }
-/* { dg-final { scan-tree-dump-times " = 0" 0 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 0" 0 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 476eb540e2a82a0e8b863cabc0a888917818dc87..ce400528d630a1e727560a8e6890ebce4a0562ca 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-ffast-math -fno-wrapv -fdump-tree-generic" } */
+/* { dg-options "-ffast-math -fno-wrapv -fdump-tree-gimple" } */
 int f(int i)
 {
   return (i - 2) <= i;
@@ -29,5 +29,5 @@ int z(double i)
 {
   return (i + (-2.0)) <= i;
 }
-/* { dg-final { scan-tree-dump-times " = 1" 6 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 1" 6 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 664a62f4e4c707c74f41bf4d0ac898f6c27e5167..9b95b3829345bf31930dbc3dd5724c113d9e7d28 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fno-wrapv -fdump-tree-generic" } */
+/* { dg-options "-fno-wrapv -fdump-tree-gimple" } */
 int f(int i)
 {
   return i < (i - 2);
@@ -34,5 +34,5 @@ int z(double i)
 {
   return i < (i + (-2.0));
 }
-/* { dg-final { scan-tree-dump-times " = 0" 7 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 0" 7 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 7377badd1358d9f4ce77b2a701a694c92716fdb3..db94c7ba0326fad3f820da337a3e8ad416004e26 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fsignaling-nans -fwrapv -fdump-tree-generic" } */
+/* { dg-options "-fsignaling-nans -fwrapv -fdump-tree-gimple" } */
 int f(int i)
 {
   return i < (i - 2);
@@ -19,5 +19,5 @@ int j (double i)
 {
   return i > i + 2.0;
 }
-/* { dg-final { scan-tree-dump-times " = 0" 0 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 0" 0 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index ff1d519e2a8fc87894a7711863c5c15bc7b57c57..0c099bd38211fa633d7853fcbaf93af3edee776d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-ffast-math -fno-wrapv -fdump-tree-generic" } */
+/* { dg-options "-ffast-math -fno-wrapv -fdump-tree-gimple" } */
 int f(int i)
 {
   return i >= (i - 2);
@@ -29,5 +29,5 @@ int z(double i)
 {
   return i >= (i + (-2.0));
 }
-/* { dg-final { scan-tree-dump-times " = 1" 6 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times " = 1" 6 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index aef40005604384ef26e43a5ec39f52899ce75fdf..7197ec8b2c7f0536223a6a466a895b96f2c39d71 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-generic" } */
+/* { dg-options "-O2 -fdump-tree-gimple" } */
 
 int
 foo (int align)
@@ -8,7 +8,7 @@ foo (int align)
   return off ? align - off : 0;
 }
 
-/* We should have optimized away the mod operator before we genericized
+/* We should have optimized away the mod operator before we gimpleized
    the code.  */
-/* { dg-final { scan-tree-dump-times "%" 0 "generic"} } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "%" 0 "gimple"} } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 9313623f8883433458c16f0965730615f504db48..ac912a2b19b4f2a827ff94328096cebb77c86b42 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 
 struct f
 {
@@ -35,8 +35,8 @@ int foobar2(struct g *x)
   return &x->k->i == &yy.k->i; /* x->k == yy.k */
 }
 
-/* { dg-final { scan-tree-dump-times "x == y" 1 "generic" } } */
-/* { dg-final { scan-tree-dump-times "x == &y" 2 "generic" } } */
-/* { dg-final { scan-tree-dump "x->k" "generic" } } */
-/* { dg-final { scan-tree-dump "yy.k" "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "x == y" 1 "gimple" } } */
+/* { dg-final { scan-tree-dump-times "x == &y" 2 "gimple" } } */
+/* { dg-final { scan-tree-dump "x->k" "gimple" } } */
+/* { dg-final { scan-tree-dump "yy.k" "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index ad293ec6d739661744f5205097aa59f2c2558418..b0d7492de98cde3f953fa2457d93e123d9a0303a 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fdump-tree-generic" } */
+/* { dg-options "-fdump-tree-gimple" } */
 
 /* PR tree-optimization/20470:
     Missing fold to abs(x) when x == MINUS_EXPR.  */
@@ -11,5 +11,5 @@ void f1()
   i = abs(j-k);
 }
 
-/* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "generic" } } */
-/* { dg-final { cleanup-tree-dump "generic" } } */
+/* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "gimple" } } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
index 9f0d1e5bac4126bb649fff7be5ae31b9ffa0bb49..983530ef361957c9c82824bcb0c0e1e7c90796be 100644 (file)
@@ -212,6 +212,10 @@ build_tree_cfg (tree *tp)
       }
   }
 
+#ifdef ENABLE_CHECKING
+  verify_stmts ();
+#endif
+
   /* Dump a textual representation of the flowgraph.  */
   if (dump_file)
     dump_tree_cfg (dump_file, dump_flags);
index 451fe2bea0d7576f5b6882ab2de15942a75420bc..836b10cc05b6a7330cb24601bac91df308a016fe 100644 (file)
@@ -672,7 +672,7 @@ static struct dump_file_info dump_files[TDI_end] =
   {".tu", "translation-unit", NULL, TDF_TREE, 0, 0, 0},
   {".class", "class-hierarchy", NULL, TDF_TREE, 0, 1, 0},
   {".original", "tree-original", NULL, TDF_TREE, 0, 2, 0},
-  {".generic", "tree-generic", NULL, TDF_TREE, 0, 3, 0},
+  {".gimple", "tree-gimple", NULL, TDF_TREE, 0, 3, 0},
   {".nested", "tree-nested", NULL, TDF_TREE, 0, 4, 0},
   {".inlined", "tree-inlined", NULL, TDF_TREE, 0, 5, 0},
   {".vcg", "tree-vcg", NULL, TDF_TREE, 0, 6, 0},
index 696e7b49336a353b9fa93bcf10dfdfdd43812416..5873d6257e92a84d2c39db1ac4bb877094ab8b57 100644 (file)
@@ -566,21 +566,15 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data)
        {
          /* Get rid of *& from inline substitutions that can happen when a
             pointer argument is an ADDR_EXPR.  */
-         tree decl = TREE_OPERAND (*tp, 0), value;
+         tree decl = TREE_OPERAND (*tp, 0);
          splay_tree_node n;
 
          n = splay_tree_lookup (id->decl_map, (splay_tree_key) decl);
          if (n)
            {
-             value = (tree) n->value;
-             STRIP_NOPS (value);
-             if (TREE_CODE (value) == ADDR_EXPR
-                 && (lang_hooks.types_compatible_p
-                     (TREE_TYPE (*tp), TREE_TYPE (TREE_OPERAND (value, 0)))))
-               {
-                 *tp = TREE_OPERAND (value, 0);
-                 return copy_body_r (tp, walk_subtrees, data);
-               }
+             *tp = build_fold_indirect_ref ((tree)n->value);
+             *walk_subtrees = 0;
+             return NULL;
            }
        }
 
index c3ceb31f59cc71bf64d435beef9463de9dd46288..c85830d2b2fa31d575918f8d53e7498ecbe93cb1 100644 (file)
@@ -57,25 +57,6 @@ bool in_gimple_form;
 /* The root of the compilation pass tree, once constructed.  */
 static struct tree_opt_pass *all_passes, *all_ipa_passes;
 
-/* Pass: dump the gimplified, inlined, functions.  */
-
-static struct tree_opt_pass pass_gimple = 
-{
-  "gimple",                            /* name */
-  NULL,                                        /* gate */
-  NULL,                                        /* execute */
-  NULL,                                        /* sub */
-  NULL,                                        /* next */
-  0,                                   /* static_pass_number */
-  0,                                   /* tv_id */
-  0,                                   /* properties_required */
-  PROP_gimple_any,                     /* properties_provided */
-  0,                                   /* properties_destroyed */
-  0,                                   /* todo_flags_start */
-  TODO_dump_func,                      /* todo_flags_finish */
-  0                                    /* letter */
-};
-
 /* Gate: execute, or not, all of the non-trivial optimizations.  */
 
 static bool
@@ -340,7 +321,6 @@ init_tree_optimization_passes (void)
   *p = NULL;
 
   p = &all_passes;
-  NEXT_PASS (pass_gimple);
   NEXT_PASS (pass_remove_useless_stmts);
   NEXT_PASS (pass_mudflap_1);
   NEXT_PASS (pass_lower_cf);