OSDN Git Service

2008-08-20 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Aug 2008 12:59:10 +0000 (12:59 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Aug 2008 12:59:10 +0000 (12:59 +0000)
* passes.c (init_optimization_passes): Move the second
forwprop pass before alias computation.  Remove the second
DCE pass.  Remove the first dominator and phi copy/const
prop passes.

* gcc.dg/tree-ssa/20030530-2.c: Scan dom2 dump.
* gcc.dg/tree-ssa/20030611-1.c: Likewise.
* gcc.dg/tree-ssa/20030703-1.c: Likewise.
* gcc.dg/tree-ssa/20030703-2.c: Likewise.
* gcc.dg/tree-ssa/20030708-1.c: Likewise.
* gcc.dg/tree-ssa/20030709-3.c: Likewise.
* gcc.dg/tree-ssa/20030710-1.c: Likewise.
* gcc.dg/tree-ssa/20030711-1.c: Likewise.
* gcc.dg/tree-ssa/20030711-2.c: Likewise.
* gcc.dg/tree-ssa/20030711-3.c: Likewise.
* gcc.dg/tree-ssa/20030714-1.c: Likewise.
* gcc.dg/tree-ssa/20030714-2.c: Likewise.
* gcc.dg/tree-ssa/20030729-1.c: Likewise.
* gcc.dg/tree-ssa/20030730-1.c: Likewise.
* gcc.dg/tree-ssa/20030730-2.c: Likewise.
* gcc.dg/tree-ssa/20030731-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-11.c: Likewise.
* gcc.dg/tree-ssa/20030807-2.c: Likewise.
* gcc.dg/tree-ssa/20030807-3.c: Likewise.
* gcc.dg/tree-ssa/20030807-5.c: Likewise.
* gcc.dg/tree-ssa/20030807-8.c: Likewise.
* gcc.dg/tree-ssa/20030807-9.c: Likewise.
* gcc.dg/tree-ssa/20030814-1.c: Likewise.
* gcc.dg/tree-ssa/20030814-2.c: Likewise.
* gcc.dg/tree-ssa/20030814-3.c: Likewise.
* gcc.dg/tree-ssa/20030814-4.c: Likewise.
* gcc.dg/tree-ssa/20030814-5.c: Likewise.
* gcc.dg/tree-ssa/20030814-6.c: Likewise.
* gcc.dg/tree-ssa/20030814-7.c: Likewise.
* gcc.dg/tree-ssa/20030922-1.c: Likewise.
* gcc.dg/tree-ssa/20040729-1.c: Likewise.
* gcc.dg/tree-ssa/20041122-1.c: Likewise.
* gcc.dg/tree-ssa/pr21417.c: Likewise.
* gcc.dg/tree-ssa/pr21829.c: Scan phicprop2 dump.
* gcc.dg/tree-ssa/ssa-dce-1.c: Scan dce2 dump.
* gcc.dg/tree-ssa/ssa-dce-2.c: Likewise.
* g++.dg/tree-ssa/pr31146.C: Remove XFAIL, adjust pattern.
* gfortran.dg/ldist-1.f90: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139286 138bc75d-0d04-0410-961f-82ee72b054a4

42 files changed:
gcc/ChangeLog
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr31146.C
gcc/testsuite/gcc.dg/tree-ssa/20030530-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030611-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030703-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030703-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030708-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030709-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030710-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030711-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030711-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030711-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030714-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030729-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030730-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030730-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030731-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-11.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-5.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-8.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-9.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-1.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-2.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-3.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-4.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-5.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-6.c
gcc/testsuite/gcc.dg/tree-ssa/20030814-7.c
gcc/testsuite/gcc.dg/tree-ssa/20030922-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c
gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
gcc/testsuite/gcc.dg/tree-ssa/pr21417.c
gcc/testsuite/gcc.dg/tree-ssa/pr21829.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c
gcc/testsuite/gfortran.dg/ldist-1.f90

index de65ecf..55d7448 100644 (file)
@@ -1,3 +1,10 @@
+2008-08-20  Richard Guenther  <rguenther@suse.de>
+
+       * passes.c (init_optimization_passes): Move the second
+       forwprop pass before alias computation.  Remove the second
+       DCE pass.  Remove the first dominator and phi copy/const
+       prop passes.
+
 2008-08-20  Nick Clifton  <nickc@redhat.com>
 
        * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Always test for assembler
index 8730ea3..f47c6ec 100644 (file)
@@ -589,6 +589,7 @@ init_optimization_passes (void)
       NEXT_PASS (pass_rename_ssa_copies);
       NEXT_PASS (pass_complete_unrolli);
       NEXT_PASS (pass_ccp);
+      NEXT_PASS (pass_forwprop);
       /* Ideally the function call conditional
         dead code elimination phase can be delayed
         till later where potentially more opportunities
@@ -605,20 +606,11 @@ init_optimization_passes (void)
       NEXT_PASS (pass_return_slot);
       NEXT_PASS (pass_phiprop);
       NEXT_PASS (pass_fre);
-      NEXT_PASS (pass_dce);
-      NEXT_PASS (pass_forwprop);
       NEXT_PASS (pass_copy_prop);
       NEXT_PASS (pass_merge_phi);
       NEXT_PASS (pass_vrp);
       NEXT_PASS (pass_dce);
       NEXT_PASS (pass_cselim);
-      NEXT_PASS (pass_dominator);
-      /* The only const/copy propagation opportunities left after
-        DOM should be due to degenerate PHI nodes.  So rather than
-        run the full propagators, run a specialized pass which
-        only examines PHIs to discover const/copy propagation
-        opportunities.  */
-      NEXT_PASS (pass_phi_only_cprop);
       NEXT_PASS (pass_tree_ifcombine);
       NEXT_PASS (pass_phiopt);
       NEXT_PASS (pass_tail_recursion);
index bb5cf79..42ec9c0 100644 (file)
@@ -1,3 +1,45 @@
+2008-08-20  Richard Guenther  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/20030530-2.c: Scan dom2 dump.
+       * gcc.dg/tree-ssa/20030611-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030703-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030703-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030708-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030709-3.c: Likewise.
+       * gcc.dg/tree-ssa/20030710-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030711-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030711-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030711-3.c: Likewise.
+       * gcc.dg/tree-ssa/20030714-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030714-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030729-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030730-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030730-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030731-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-11.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-3.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-5.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-8.c: Likewise.
+       * gcc.dg/tree-ssa/20030807-9.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-1.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-2.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-3.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-4.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-5.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-6.c: Likewise.
+       * gcc.dg/tree-ssa/20030814-7.c: Likewise.
+       * gcc.dg/tree-ssa/20030922-1.c: Likewise.
+       * gcc.dg/tree-ssa/20040729-1.c: Likewise.
+       * gcc.dg/tree-ssa/20041122-1.c: Likewise.
+       * gcc.dg/tree-ssa/pr21417.c: Likewise.
+       * gcc.dg/tree-ssa/pr21829.c: Scan phicprop2 dump.
+       * gcc.dg/tree-ssa/ssa-dce-1.c: Scan dce2 dump.
+       * gcc.dg/tree-ssa/ssa-dce-2.c: Likewise.
+       * g++.dg/tree-ssa/pr31146.C: Remove XFAIL, adjust pattern.
+       * gfortran.dg/ldist-1.f90: Adjust.
+
 2008-08-20  Victor Kaplansky  <victork@il.ibm.com>
 
         * gcc.dg/vect/vect-multitypes-15.c: Fix typo.
index 6123e03..9679023 100644 (file)
@@ -12,6 +12,5 @@ void foo (int j)
   *q = 1;
 }
 
-/* { dg-final { scan-tree-dump "i\\\[j.*\\\] = 1;" "forwprop1" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump "i\\\[j.*\\\] = 1;" "forwprop2" } } */
+/* { dg-final { scan-tree-dump "i\\\[j.*\\\] =.* 1;" "forwprop1" } } */
 /* { dg-final { cleanup-tree-dump "forwprop?" } } */
index fc5a1c8..3d4ba4f 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
  
 
 typedef struct rs6000_stack {
@@ -16,12 +16,12 @@ rs6000_emit_prologue (int i, rs6000_stack_t *info)
 
 /* There should be precisely one load of first_gp_reg_save.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "first_gp_reg_save" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "first_gp_reg_save" 1 "dom2"} } */
 
 /* There should be precisely one addition.  If there is more than one, then
    the dominator optimizations failed, most likely due to not handling
    commutative operands correctly.  */
-/* { dg-final { scan-tree-dump-times "\\+" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "\\+" 1 "dom2"} } */
  
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
 
index 87c4e47..fac91be 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
  
 extern int square (int) __attribute__ ((__const__));
 shit(int a)
@@ -10,5 +10,5 @@ shit(int a)
 
 /* There should be precisely one call to square.   If there is more than one,
    then the dominator optimizations failed to remove the redundant call.  */
-/* { dg-final { scan-tree-dump-times "square" 1 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "square" 1 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 1ba57da..fa59923 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
   
 extern void abort (void);
 extern int blah[];
@@ -14,9 +14,9 @@ foo(int index)
 
 /* There should be precisely one load of blah.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "blah" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "blah" 1 "dom2"} } */
  
 /* There should be exactly one IF conditional.  */
-/* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index c2873ac..4a64b90 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 
@@ -29,16 +29,16 @@ get_alias_set (t)
 
 /* There should be precisely one load of {t,__t}->code.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "->code" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "->code" 1 "dom2"} } */
                                                                                 
 /* There should be precisely one load of tree_code_type.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "tree_code_type" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "tree_code_type" 1 "dom2"} } */
 
 /* There should be one IF conditional.  If 'tree_code_type[t->code]' is
    zero, then the third if() conditional is unnecessary.  That should cause
    the call to abort() to be removed, which in turn causes the whole second
    if() to disappear.  */
-/* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 4a9496c..b3be8a9 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 extern void abort (void);
 struct rtx_def;
 typedef struct rtx_def *rtx;
@@ -35,9 +35,9 @@ nonlocal_mentioned_p (x)
 
 /* There should be no casts to a short unsigned int since the entire
    set of conditionals should optimize away.  */
-/* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom2"} } */
                                                                                 
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2"} } */
                                                                                 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 1d69e5c..4f98478 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
   
 extern void abort (void);
 
@@ -36,13 +36,13 @@ record_component_aliases (type)
 
 /* There should be precisely one load of type.binfo.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "type\\.binfo" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "type\\.binfo" 1 "dom2"} } */
  
 /* There should be precisely one load of common.code.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "common\\.code" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "common\\.code" 1 "dom2"} } */
  
 /* There should be one IF conditional.  */
-/* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 8ed9b4c..c344d48 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 union tree_node;
@@ -41,15 +41,15 @@ record_component_aliases (type)
 /* The call to blah should have been eliminated.  If the call is not
    eliminated, then dominator optimizations failed and it'll be
    impossible to delete other unnecessary code.  */
-/* { dg-final { scan-tree-dump-not "blah \\(\\)" "dom3" } } */
+/* { dg-final { scan-tree-dump-not "blah \\(\\)" "dom2" } } */
   
 /* There should be two IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 2 "dom2"} } */
                                                                                 
 /* There should be a single load of type.binfo.  */
-/* { dg-final { scan-tree-dump-times "type\\.binfo" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "type\\.binfo" 1 "dom2"} } */
 
 /* There should be two loads of vec.length.  */
-/* { dg-final { scan-tree-dump-times "vec.length" 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "vec.length" 2 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 20a660c..1855580 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
  
 extern void abort (void);
 
@@ -41,15 +41,15 @@ record_component_aliases (type)
 }
 
 /* The call to blah can not be eliminated.  */
-/* { dg-final { scan-tree-dump-times "blah \\(\\)" 1 "dom3" } } */
+/* { dg-final { scan-tree-dump-times "blah \\(\\)" 1 "dom2" } } */
    
 /* There should be four IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 3 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 4 "dom2"} } */
                                                                                 
 /* There should be two loads of type.binfo.  */
-/* { dg-final { scan-tree-dump-times "type\\.binfo" 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "type\\.binfo" 2 "dom2"} } */
  
 /* There should be four loads of vec.length.  */
-/* { dg-final { scan-tree-dump-times "vec.length" 3 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "vec.length" 4 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index c5840a3..44dd253 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-dom3" } */
+/* { dg-options "-O2 -fdump-tree-dom2" } */
   
 
 struct rtx_def;
@@ -49,21 +49,21 @@ get_alias_set (t,z)
 }
 
 /* The calls to make_decl_rtl should be eliminated
-/* { dg-final { scan-tree-dump-not "make_decl_rtl \\(\\)" "dom3" } } */
+/* { dg-final { scan-tree-dump-not "make_decl_rtl \\(\\)" "dom2" } } */
     
 /* There should be three IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 3 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 3 "dom2"} } */
                                                                                 
 /* There should be one loads of decl.rtl.  */
-/* { dg-final { scan-tree-dump-times "decl\\.rtl" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "decl\\.rtl" 1 "dom2"} } */
   
 /* There should be one load of code.  */
-/* { dg-final { scan-tree-dump-times "code" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "code" 1 "dom2"} } */
 
 /* There should be one load of rtmem.  */
-/* { dg-final { scan-tree-dump-times "rtmem" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "rtmem" 1 "dom2"} } */
 
 /* There should be one load of alias.  */
-/* { dg-final { scan-tree-dump-times "->alias" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "->alias" 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index ea6d5a4..ec04e17 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
   
 
 struct rtx_def;
@@ -44,18 +44,18 @@ get_alias_set (t)
 }
 
 /* The calls to make_decl_rtl should be eliminated.  */
-/* { dg-final { scan-tree-dump-not "make_decl_rtl \\(\\)" "dom3" } } */
+/* { dg-final { scan-tree-dump-not "make_decl_rtl \\(\\)" "dom2" } } */
     
 /* There should be two IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 2 "dom2"} } */
                                                                                 
 /* There should be one load of decl.rtl.  */
-/* { dg-final { scan-tree-dump-times "decl\\.rtl" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "decl\\.rtl" 1 "dom2"} } */
   
 /* There should be two loads of rtmem.  */
-/* { dg-final { scan-tree-dump-times "rtmem" 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "rtmem" 2 "dom2"} } */
 
 /* There should be one load of alias.  */
-/* { dg-final { scan-tree-dump-times "->alias" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "->alias" 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index cfc5aa7..397036f 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
    
 struct rtx_def;
 typedef struct rtx_def *rtx;
@@ -35,6 +35,6 @@ find_base_value (src)
 
 
 /* There should be no casts to short unsigned int.  */
-/* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 42f3a38..cac6486 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
    
 
 union tree_node;
@@ -34,6 +34,6 @@ get_alias_set (t)
 
 /* There should be exactly three IF conditionals if we thread jumps
    properly.  */
-/* { dg-final { scan-tree-dump-times "if " 3 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 3 "dom2"} } */
  
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index dc58171..59b4839 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 union tree_node;
@@ -45,10 +45,10 @@ readonly_fields_p (type)
 /* A good optimizer would realize that the cast to (unsigned int) is
    useless as the earlier cast of the same value of (unsigned char) will
    always produce the same result.  */
-/* { dg-final { scan-tree-dump-times "\\(unsigned int\\)" 0 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "\\(unsigned int\\)" 0 "dom2"} } */
  
 /* There should be one load of ->common.code.  We currently fail this
    because we load from ->common.code using different types.  */
-/* { dg-final { scan-tree-dump-times "common\.code" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "common\.code" 1 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index f8ee97c..bb474ff 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-dom3" } */
+/* { dg-options "-O2 -fdump-tree-dom2" } */
      
 extern void exit (int);
 extern void *ggc_alloc (__SIZE_TYPE__);
@@ -19,7 +19,7 @@ foo (int attr_kind, unsigned long offset)
 }
 
 /* There should be no IF conditionals, unless target has fno-delete-null-pointer-checks  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3" { target { ! keeps_null_pointer_checks } } } } */
-/* { dg-final { scan-tree-dump "if " "dom3" { target { keeps_null_pointer_checks } } } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2" { target { ! keeps_null_pointer_checks } } } } */
+/* { dg-final { scan-tree-dump "if " "dom2" { target { keeps_null_pointer_checks } } } } */
      
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 90359ed..1768d45 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-dom3" } */
+/* { dg-options "-O2 -fdump-tree-dom2" } */
      
 extern void exit (int);
 extern void *ggc_alloc (__SIZE_TYPE__);
@@ -19,7 +19,7 @@ foo (int attr_kind, unsigned long offset)
 }
 
 /* There should be no IF conditionals, unless target has fno-delete-null-pointer-checks  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3" { target { ! keeps_null_pointer_checks } } } } */
-/* { dg-final { scan-tree-dump "if " "dom3" { target { keeps_null_pointer_checks } } } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2" { target { ! keeps_null_pointer_checks } } } } */
+/* { dg-final { scan-tree-dump "if " "dom2" { target { keeps_null_pointer_checks } } } } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 1eb1617..a16f49d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
   
 extern void abort (void);
 
@@ -63,5 +63,5 @@ store_expr (exp, target, want_value)
    (B) only looks at immediate dominators, and only queued_subexp_p
    immediately dominates the comparison in question.  We need something
    stronger.  */
-/* { dg-final { scan-tree-dump-times "target.*!= 0" 0 "dom3" { xfail *-*-* } } } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "target.*!= 0" 0 "dom2" { xfail *-*-* } } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 679d952..84344e3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
     
 struct rtx_def;
 typedef struct rtx_def *rtx;
@@ -41,5 +41,5 @@ bar (rtx r)
    are threaded to the return 0.  Which in turn means the path
    which combines the result of those two tests into a new test
    must always be true and it is optimized appropriately.  */
-/* { dg-final { scan-tree-dump-times "if " 2 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 2 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index b660333..0711053 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 struct rtx_def;
@@ -17,5 +17,5 @@ foo (reg)
 }
                                                                                 
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 06a8a83..a12d718 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -ftree-vrp -fdump-tree-dom3" } */
+/* { dg-options "-O1 -ftree-vrp -fdump-tree-dom2" } */
      
 extern void abort (void);
 
@@ -24,5 +24,5 @@ foo(int n)
 
                                                                                
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3" } } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 8255b58..9a3c231 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
                                                                                 
 typedef unsigned int cppchar_t;
 cppchar_t
@@ -23,5 +23,5 @@ cpp_parse_escape (pstr, limit, wide)
 
 /* There should be precisely three IF statements.  If there is
    more than two, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "if " 3 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 3 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index e9decac..424b558 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 struct rtx_def;
@@ -30,10 +30,10 @@ foo ()
 
 /* There should be precisely one load of ->code.  If there is
    more than, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "->code" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "->code" 1 "dom2"} } */
 
 /* There should be two IF statements.  One for 'current_sym_addr->code == 42'.
    The other one for '(EXPR)->unchanging'.  */
-/* { dg-final { scan-tree-dump-times "if " 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 2 "dom2"} } */
 
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 27f25eb..77fd3e5 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
                                                                                 
 struct die_struct;
 typedef struct die_struct *dw_die_ref;
@@ -51,5 +51,5 @@ output_location_lists (die)
 }
 
 /* There should be exactly one IF conditional, in output_location_lists.  */
-/* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index b2c3c89..4f0b7cb 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 static void
 bar ()
@@ -16,5 +16,5 @@ ooof ()
 }
 
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index d7b44a6..aad53c3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
    
 extern void abort (void);
 
@@ -16,6 +16,6 @@ com(int *blah)
 
 /* There should be precisely one load of blah.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "\\*blah" 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "\\*blah" 1 "dom2"} } */
   
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 1e65ffa..7f60b27 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
     
 extern void abort (void);
 
@@ -17,6 +17,6 @@ foo (int value)
 }
 
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2"} } */
  
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index 852b438..2746415 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
     
 extern void abort (void);
 
@@ -18,6 +18,6 @@ foo (int value)
 }
 
 /* There should be one IF conditional.  */
-/* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "if " 1 "dom2"} } */
  
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index e04a668..2c2142c 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3 -fdump-tree-optimized" } */
+/* { dg-options "-O1 -fdump-tree-dom2 -fdump-tree-optimized" } */
     
 extern void abort (void);
 union tree_node;
@@ -34,8 +34,8 @@ blah (decl, set)
 
 /* There should be precisely one reference to pointer_alias_set.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "pointer_alias_set" 1 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "pointer_alias_set" 1 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
 
 /* The assignment set = -1 in the ELSE clause of the last IF
    statement should be removed by the final cleanup phase.  */
index 8335239..41aa148 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3 -fdump-tree-optimized" } */
+/* { dg-options "-O1 -fdump-tree-dom2 -fdump-tree-optimized" } */
     
 extern void abort (void);
 union tree_node;
@@ -34,8 +34,8 @@ blah (decl, set)
 
 /* There should be precisely one reference to pointer_alias_set.  If there is
    more than one, then the dominator optimizations failed.  */
-/* { dg-final { scan-tree-dump-times "pointer_alias_set" 1 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "pointer_alias_set" 1 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
 
 /* The assignment set = -1 in the ELSE clause of the last IF
    statement should be removed by the final cleanup phase.  */
index 1c2995e..1705265 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 union tree_node;
@@ -41,5 +41,5 @@ foo (t, set)
    more than one, then the dominator optimizations failed.  */
 /* ??? Will fail until we properly distinguish member stores.  At
    present the write to type.alias_set kills the previous load.  */
-/* { dg-final { scan-tree-dump-times "common.code" 1 "dom3" { xfail *-*-* } } } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "common.code" 1 "dom2" { xfail *-*-* } } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index fce0e2a..711bab2 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 extern void abort (void);
 struct rtx_def;
@@ -38,5 +38,5 @@ mark_constant_function (void)
    and the temporary used as the argument to cgraph_rtl_info.
    This if we find current_function_decl used as an argument, then
    we have failed.  */
-/* { dg-final { scan-tree-dump-times "\\(current_function_decl\\)" 0 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "\\(current_function_decl\\)" 0 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index b366357..96db1bd 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
   
 extern void abort (void);
 
@@ -30,5 +30,5 @@ voidify_wrapper_expr (tree wrapper)
 
 
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dom2"} } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index e8674e4..ef94096 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dce3" } */
+/* { dg-options "-O1 -fdump-tree-dce2" } */
 
 foo ()
 {
@@ -15,5 +15,5 @@ foo ()
    compiler was mistakenly thinking that the statement had volatile
    operands.  But 'p' itself is not volatile and taking the address of
    a volatile does not constitute a volatile operand.  */
-/* { dg-final { scan-tree-dump-times "&x" 0 "dce3"} } */
-/* { dg-final { cleanup-tree-dump "dce3" } } */
+/* { dg-final { scan-tree-dump-times "&x" 0 "dce2"} } */
+/* { dg-final { cleanup-tree-dump "dce2" } } */
index ea0fb7e..d5cabb0 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dom3" } */
+/* { dg-options "-O1 -fdump-tree-dom2" } */
 
 
 typedef unsigned int size_t;
@@ -34,5 +34,5 @@ find_unreachable_blocks (int frobit)
    able to determine that modifying e->dest->flags does not
    modify e or e->dest.  The net result is that we only need one
    load of e->dest.  */
-/* { dg-final { scan-tree-dump-times "->dest" 1 "dom3" { xfail *-*-* } } } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "->dest" 1 "dom2" { xfail *-*-* } } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
index e632007..4a2c821 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-dom3-details" } */
+/* { dg-options "-O2 -fdump-tree-dom2-details" } */
 
 struct tree_common 
 { 
@@ -49,6 +49,6 @@ L23:
 /* We should thread the backedge to the top of the loop; ie we only
    execute the if (expr->common.code != 142) test once per loop
    iteration.  */
-/* { dg-final { scan-tree-dump-times "Threaded jump" 1 "dom3" } } */
-/* { dg-final { cleanup-tree-dump "dom3" } } */
+/* { dg-final { scan-tree-dump-times "Threaded jump" 1 "dom2" } } */
+/* { dg-final { cleanup-tree-dump "dom2" } } */
 
index d0e8b13..2f7078c 100644 (file)
@@ -16,6 +16,6 @@ int test(int v)
   return x;
 }
 
-/* { dg-final { scan-tree-dump-times "Original statement:.*% 2\[ \t\n]*Updated statement.*=1" 0 "phicprop3" } } */
-/* { dg-final { cleanup-tree-dump "phicprop\[1-3\]" } } */
+/* { dg-final { scan-tree-dump-times "Original statement:.*% 2\[ \t\n]*Updated statement.*=1" 0 "phicprop2" } } */
+/* { dg-final { cleanup-tree-dump "phicprop\[1-2\]" } } */
 
index 3a1cad1..12d9826 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O1 -fdump-tree-dce3" } */
+/* { dg-options "-O1 -fdump-tree-dce2" } */
 
 int t() __attribute__ ((const));
 q()
@@ -9,5 +9,5 @@ q()
     i = t();
 }
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dce3"} } */
-/* { dg-final { cleanup-tree-dump "dce3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dce2"} } */
+/* { dg-final { cleanup-tree-dump "dce2" } } */
index 655f61c..5e53024 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-dce3" } */
+/* { dg-options "-O2 -fdump-tree-dce2" } */
 
 /* We should notice constantness of this function. */
 static int __attribute__((noinline)) t(int a) 
@@ -13,5 +13,5 @@ void q(void)
     i = t(1);
 }
 /* There should be no IF conditionals.  */
-/* { dg-final { scan-tree-dump-times "if " 0 "dce3"} } */
-/* { dg-final { cleanup-tree-dump "dce3" } } */
+/* { dg-final { scan-tree-dump-times "if " 0 "dce2"} } */
+/* { dg-final { cleanup-tree-dump "dce2" } } */
index a4771e9..dd1f02a 100644 (file)
@@ -29,6 +29,5 @@ Subroutine PADEC(DKS,DKDS,HVAR,WM,WG,FN,NS,AN,BN,CN,IT)
   return
 end Subroutine PADEC
 
-! { dg-final { scan-tree-dump-times "distributed: split to 4 loops" 1 "ldist" { target ilp32 } } }
-! { dg-final { scan-tree-dump-times "distributed: split to 5 loops" 1 "ldist" { target lp64 } } }
+! { dg-final { scan-tree-dump-times "distributed: split to 4 loops" 1 "ldist" } }
 ! { dg-final { cleanup-tree-dump "ldist" } }