This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Stay in GIMPLE when inlining


> On Fri, May 13, 2005 at 01:56:33AM +0200, Jan Hubicka wrote:
> > 	* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
> > 	* tree-optimize.c (pass_gimple): Kill.
> > 	(init_tree_optimization_passes): Kill pass_gimple.
> > 	(tree_rest_of_compilation): Do verify_stmts to check that we are gimple.
> 
> Ok, except,
> 
> > 	* pr15791-?.C: Replace gimple by lower dump.
> > 	* pr15791-?.c: Replace gimple by lower dump.
> > 	buidins-47.c: Likewise.
> 
> Rather than removing the gimple dump, rename the generic dump.

This is what I ended up comitting.  (few testcases needed updating and I
also had to move the verify_stmts into cfg build as unlike the cfg
inliner patch we don't have cfg at the start of
tree-rest-of-compilation.
This seem very resonable place to check that frontend is not giving us
non-gimple so I think it shall stay there and I will add another check
just after inlining (as inliner seemeed to be common source of
non-gimples)
> 
> There's probably other cleanup to be done in this area.
Any ideas here?  I am all ears when it comes to killing passes ;)

Honza

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.*

	* gcc.dg/builtins-43.c: Use gimple dump instead of generic.
	* gcc.dg/fold-xor-2.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.
Index: tree-cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-cfg.c,v
retrieving revision 2.187
diff -c -3 -p -r2.187 tree-cfg.c
*** tree-cfg.c	12 May 2005 22:32:13 -0000	2.187
--- tree-cfg.c	13 May 2005 13:27:22 -0000
*************** build_tree_cfg (tree *tp)
*** 212,217 ****
--- 212,221 ----
        }
    }
  
+ #ifdef ENABLE_CHECKING
+   verify_stmts ();
+ #endif
+ 
    /* Dump a textual representation of the flowgraph.  */
    if (dump_file)
      dump_tree_cfg (dump_file, dump_flags);
Index: tree-dump.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-dump.c,v
retrieving revision 1.41
diff -c -3 -p -r1.41 tree-dump.c
*** tree-dump.c	23 Apr 2005 21:27:58 -0000	1.41
--- tree-dump.c	13 May 2005 13:27:22 -0000
*************** static struct dump_file_info dump_files[
*** 672,678 ****
    {".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},
    {".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},
--- 672,678 ----
    {".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},
!   {".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: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.182
diff -c -3 -p -r1.182 tree-inline.c
*** tree-inline.c	23 Apr 2005 21:27:58 -0000	1.182
--- tree-inline.c	13 May 2005 13:27:22 -0000
*************** copy_body_r (tree *tp, int *walk_subtree
*** 566,586 ****
  	{
  	  /* Get rid of *& from inline substitutions that can happen when a
  	     pointer argument is an ADDR_EXPR.  */
! 	  tree decl = TREE_OPERAND (*tp, 0), value;
  	  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);
! 		}
  	    }
  	}
  
--- 566,580 ----
  	{
  	  /* Get rid of *& from inline substitutions that can happen when a
  	     pointer argument is an ADDR_EXPR.  */
! 	  tree decl = TREE_OPERAND (*tp, 0);
  	  splay_tree_node n;
  
  	  n = splay_tree_lookup (id->decl_map, (splay_tree_key) decl);
  	  if (n)
  	    {
! 	      *tp = build_fold_indirect_ref ((tree)n->value);
! 	      *walk_subtrees = 0;
! 	      return NULL;
  	    }
  	}
  
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 2.91
diff -c -3 -p -r2.91 tree-optimize.c
*** tree-optimize.c	12 May 2005 19:29:21 -0000	2.91
--- tree-optimize.c	13 May 2005 13:27:22 -0000
*************** bool in_gimple_form;
*** 57,81 ****
  /* 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
--- 57,62 ----
*************** init_tree_optimization_passes (void)
*** 340,346 ****
    *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);
--- 321,326 ----
Index: testsuite/gcc.dg/builtins-43.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/builtins-43.c,v
retrieving revision 1.2
diff -c -3 -p -r1.2 builtins-43.c
*** testsuite/gcc.dg/builtins-43.c	31 Mar 2005 18:34:14 -0000	1.2
--- testsuite/gcc.dg/builtins-43.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O1 -fno-trapping-math -fdump-tree-generic -fdump-tree-optimized" } */
    
  extern void f(int);
  extern void link_error ();
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-O1 -fno-trapping-math -fdump-tree-gimple -fdump-tree-optimized" } */
    
  extern void f(int);
  extern void link_error ();
*************** main ()
*** 46,53 ****
  
  
  /* Check that all instances of __builtin_isnan were folded.  */
! /* { dg-final { scan-tree-dump-times "isnan" 0 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
  
  /* Check that all instances of link_error were subject to DCE.  */
  /* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" } } */
--- 46,53 ----
  
  
  /* Check that all instances of __builtin_isnan were folded.  */
! /* { 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: testsuite/gcc.dg/fold-xor-2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/fold-xor-2.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 fold-xor-2.c
*** testsuite/gcc.dg/fold-xor-2.c	20 Apr 2005 04:32:41 -0000	1.1
--- testsuite/gcc.dg/fold-xor-2.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic" } */
  int f (int a, int b) {
  	return ~(a ^ -(b + 1));
  }
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-gimple" } */
  int f (int a, int b) {
  	return ~(a ^ -(b + 1));
  }
*************** unsigned int h (unsigned int a, unsigned
*** 12,16 ****
  	return ~(-(b + 1) ^ a);
  }
  
! /* { dg-final { scan-tree-dump-times "b \\^ a" 3 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 12,16 ----
  	return ~(-(b + 1) ^ a);
  }
  
! /* { dg-final { scan-tree-dump-times "b \\^ a" 3 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr15784-1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr15784-1.c,v
retrieving revision 1.2
diff -c -3 -p -r1.2 pr15784-1.c
*** testsuite/gcc.dg/pr15784-1.c	31 Mar 2005 18:34:14 -0000	1.2
--- testsuite/gcc.dg/pr15784-1.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic" } */
  /* Test for folding abs(x) where appropriate.  */
  #define abs(x) x > 0 ? x : -x
  extern double fabs (double);
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-gimple" } */
  /* Test for folding abs(x) where appropriate.  */
  #define abs(x) x > 0 ? x : -x
  extern double fabs (double);
*************** int h (float x) {
*** 39,43 ****
  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" } } */
--- 39,43 ----
  int i (float x) {
  	return fabs(x) == -0.0;
  }
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr15784-2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr15784-2.c,v
retrieving revision 1.2
diff -c -3 -p -r1.2 pr15784-2.c
*** testsuite/gcc.dg/pr15784-2.c	31 Mar 2005 18:34:14 -0000	1.2
--- testsuite/gcc.dg/pr15784-2.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic -ffast-math" } */
  /* Test for folding abs(x) where appropriate.  */
  #define abs(x) x > 0 ? x : -x
  extern double fabs (double);
--- 1,5 ----
  /* { dg-do compile } */
! /* { 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);
*************** int a (float x) {
*** 8,12 ****
  	return fabs(x) >= 0.0;
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 8,12 ----
  	return fabs(x) >= 0.0;
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 0 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr15784-3.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr15784-3.c,v
retrieving revision 1.3
diff -c -3 -p -r1.3 pr15784-3.c
*** testsuite/gcc.dg/pr15784-3.c	9 May 2005 17:42:55 -0000	1.3
--- testsuite/gcc.dg/pr15784-3.c	13 May 2005 13:27:27 -0000
***************
*** 1,6 ****
  /* { dg-do compile } */
  /* SH4 without -mieee defaults to -ffinite-math-only.  */
! /* { dg-options "-fdump-tree-generic -fno-finite-math-only" } */
  /* Test for folding abs(x) where appropriate.  */
  #define abs(x) x > 0 ? x : -x
  extern double fabs (double);
--- 1,6 ----
  /* { dg-do compile } */
  /* SH4 without -mieee defaults to -ffinite-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);
*************** int a (float x) {
*** 9,13 ****
  	return fabs(x) >= 0.0;
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 9,13 ----
  	return fabs(x) >= 0.0;
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20130-1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20130-1.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20130-1.c
*** testsuite/gcc.dg/pr20130-1.c	11 Mar 2005 03:18:56 -0000	1.1
--- testsuite/gcc.dg/pr20130-1.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic" } */
  int z (int a) {
  	return a * -1;
  }
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-gimple" } */
  int z (int a) {
  	return a * -1;
  }
*************** int x (int a) {
*** 11,14 ****
  int y (int a) {
  	return -(-1 * -a);
  }
! /* { dg-final { scan-tree-dump-times "-a" 3 "generic" } } */
--- 11,14 ----
  int y (int a) {
  	return -(-1 * -a);
  }
! /* { dg-final { scan-tree-dump-times "-a" 3 "gimple" } } */
Index: testsuite/gcc.dg/pr20922-1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-1.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-1.c
*** testsuite/gcc.dg/pr20922-1.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-1.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fno-wrapv -fdump-tree-generic" } */
  int f(int i)
  {
    return (i - 2) > i;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fno-wrapv -fdump-tree-gimple" } */
  int f(int i)
  {
    return (i - 2) > i;
*************** int z(double i)
*** 34,38 ****
  {
    return (i + (-2.0)) > i;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 7 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 34,38 ----
  {
    return (i + (-2.0)) > i;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 7 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20922-2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-2.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-2.c
*** testsuite/gcc.dg/pr20922-2.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-2.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fwrapv -fdump-tree-generic" } */
  int f (int i)
  {
    return (i - 2) > i;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fwrapv -fdump-tree-gimple" } */
  int f (int i)
  {
    return (i - 2) > i;
*************** int h (double i)
*** 14,18 ****
  {
    return (i + 2.0) <= i;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 0 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 14,18 ----
  {
    return (i + 2.0) <= i;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 0 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20922-3.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-3.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-3.c
*** testsuite/gcc.dg/pr20922-3.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-3.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-ffast-math -fno-wrapv -fdump-tree-generic" } */
  int f(int i)
  {
    return (i - 2) <= i;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-ffast-math -fno-wrapv -fdump-tree-gimple" } */
  int f(int i)
  {
    return (i - 2) <= i;
*************** int z(double i)
*** 29,33 ****
  {
    return (i + (-2.0)) <= i;
  }
! /* { dg-final { scan-tree-dump-times " = 1" 6 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 29,33 ----
  {
    return (i + (-2.0)) <= i;
  }
! /* { dg-final { scan-tree-dump-times " = 1" 6 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20922-4.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-4.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-4.c
*** testsuite/gcc.dg/pr20922-4.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-4.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fno-wrapv -fdump-tree-generic" } */
  int f(int i)
  {
    return i < (i - 2);
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fno-wrapv -fdump-tree-gimple" } */
  int f(int i)
  {
    return i < (i - 2);
*************** int z(double i)
*** 34,38 ****
  {
    return i < (i + (-2.0));
  }
! /* { dg-final { scan-tree-dump-times " = 0" 7 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 34,38 ----
  {
    return i < (i + (-2.0));
  }
! /* { dg-final { scan-tree-dump-times " = 0" 7 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20922-5.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-5.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-5.c
*** testsuite/gcc.dg/pr20922-5.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-5.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fsignaling-nans -fwrapv -fdump-tree-generic" } */
  int f(int i)
  {
    return i < (i - 2);
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fsignaling-nans -fwrapv -fdump-tree-gimple" } */
  int f(int i)
  {
    return i < (i - 2);
*************** int j (double i)
*** 19,23 ****
  {
    return i > i + 2.0;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 0 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 19,23 ----
  {
    return i > i + 2.0;
  }
! /* { dg-final { scan-tree-dump-times " = 0" 0 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/pr20922-6.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/pr20922-6.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr20922-6.c
*** testsuite/gcc.dg/pr20922-6.c	18 Apr 2005 15:18:21 -0000	1.1
--- testsuite/gcc.dg/pr20922-6.c	13 May 2005 13:27:27 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-ffast-math -fno-wrapv -fdump-tree-generic" } */
  int f(int i)
  {
    return i >= (i - 2);
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-ffast-math -fno-wrapv -fdump-tree-gimple" } */
  int f(int i)
  {
    return i >= (i - 2);
*************** int z(double i)
*** 29,33 ****
  {
    return i >= (i + (-2.0));
  }
! /* { dg-final { scan-tree-dump-times " = 1" 6 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 29,33 ----
  {
    return i >= (i + (-2.0));
  }
! /* { dg-final { scan-tree-dump-times " = 1" 6 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/tree-ssa/20050128-1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa/20050128-1.c,v
retrieving revision 1.2
diff -c -3 -p -r1.2 20050128-1.c
*** testsuite/gcc.dg/tree-ssa/20050128-1.c	31 Mar 2005 18:34:15 -0000	1.2
--- testsuite/gcc.dg/tree-ssa/20050128-1.c	13 May 2005 13:27:28 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O2 -fdump-tree-generic" } */
  
  int
  foo (int align)
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-O2 -fdump-tree-gimple" } */
  
  int
  foo (int align)
*************** foo (int align)
*** 8,14 ****
    return off ? align - off : 0;
  }
  
! /* We should have optimized away the mod operator before we genericized
     the code.  */
! /* { dg-final { scan-tree-dump-times "%" 0 "generic"} } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 8,14 ----
    return off ? align - off : 0;
  }
  
! /* We should have optimized away the mod operator before we gimpleized
     the code.  */
! /* { dg-final { scan-tree-dump-times "%" 0 "gimple"} } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */
Index: testsuite/gcc.dg/tree-ssa/pr17598.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa/pr17598.c,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pr17598.c
*** testsuite/gcc.dg/tree-ssa/pr17598.c	26 Apr 2005 16:35:31 -0000	1.1
--- testsuite/gcc.dg/tree-ssa/pr17598.c	13 May 2005 13:27:28 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic" } */
  
  struct f
  {
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-gimple" } */
  
  struct f
  {
*************** int foobar2(struct g *x)
*** 35,42 ****
    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" } } */
--- 35,42 ----
    return &x->k->i == &yy.k->i; /* x->k == yy.k */
  }
  
! /* { 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: testsuite/gcc.dg/tree-ssa/pr20470.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa/pr20470.c,v
retrieving revision 1.2
diff -c -3 -p -r1.2 pr20470.c
*** testsuite/gcc.dg/tree-ssa/pr20470.c	28 Apr 2005 16:38:13 -0000	1.2
--- testsuite/gcc.dg/tree-ssa/pr20470.c	13 May 2005 13:27:28 -0000
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-generic" } */
  
  /* PR tree-optimization/20470:
      Missing fold to abs(x) when x == MINUS_EXPR.  */
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-fdump-tree-gimple" } */
  
  /* PR tree-optimization/20470:
      Missing fold to abs(x) when x == MINUS_EXPR.  */
*************** void f1()
*** 11,15 ****
    i = abs(j-k);
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "generic" } } */
! /* { dg-final { cleanup-tree-dump "generic" } } */
--- 11,15 ----
    i = abs(j-k);
  }
  
! /* { dg-final { scan-tree-dump-times "ABS_EXPR" 1 "gimple" } } */
! /* { dg-final { cleanup-tree-dump "gimple" } } */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]