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: [tree-ssa]: Recent stmt_ann checking breaks SSAPRE



On Tue, 1 Jul 2003, Diego Novillo wrote:

> On Tue, 2003-07-01 at 15:43, Daniel Berlin wrote:
>
> > PS I've successfully bootstrapped with SSAPRE on on powerpc-darwin
> > (ignoring mudflap), and x86 (all languages but ADA).  Could you give it
> > a try on ia64 or some weirder platform while i work through regression
> > tests?
> >
> I tested the attached patch.
>
>      1. On alpha, we get warnings for uninitialized variables (that I
>         guess are PRE'd away) on attribs.c and c-cppbuiltin.c.  I added
>         -Wno-error for attribs.c, but we should find out why that's
>         happening.
>      2. On ppc64, genconditions enters an infinite loop.
>      3. On ia64, gengtype fails to run.
>
> Probably the best bet now is to build crosses for these and check the
> testsuite.

Okeydokey.

>
>
> Diego.
>
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.654.2.57
diff -d -c -p -r1.654.2.57 toplev.c
*** toplev.c	13 Jun 2003 19:00:17 -0000	1.654.2.57
--- toplev.c	1 Jul 2003 20:52:15 -0000
*************** parse_options_and_default_flags (argc, a
*** 5114,5119 ****
--- 5114,5120 ----
        flag_tree_dce = 1;
        flag_tree_copyprop = 1;
        flag_tree_dom = 1;
+       flag_tree_pre = 1;
      }
  
    if (optimize >= 2)
Index: tree-dfa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-dfa.c,v
retrieving revision 1.1.4.125
diff -d -c -p -r1.1.4.125 tree-dfa.c
*** tree-dfa.c	1 Jul 2003 04:04:31 -0000	1.1.4.125
--- tree-dfa.c	1 Jul 2003 20:52:15 -0000
*************** create_stmt_ann (tree t)
*** 1065,1071 ****
    stmt_ann_t ann;
  
  #if defined ENABLE_CHECKING
!   if (!is_gimple_stmt (t)
        || (t->common.ann
  	  && t->common.ann->common.type != STMT_ANN))
      abort ();
--- 1065,1071 ----
    stmt_ann_t ann;
  
  #if defined ENABLE_CHECKING
!   if ((!is_gimple_stmt (t) && !is_essa_node (t))
        || (t->common.ann
  	  && t->common.ann->common.type != STMT_ANN))
      abort ();
Index: tree-flow-inline.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-flow-inline.h,v
retrieving revision 1.1.2.38
diff -d -c -p -r1.1.2.38 tree-flow-inline.h
*** tree-flow-inline.h	1 Jul 2003 04:04:31 -0000	1.1.2.38
--- tree-flow-inline.h	1 Jul 2003 20:52:15 -0000
*************** stmt_ann (t)
*** 52,58 ****
       tree t;
  {
  #if defined ENABLE_CHECKING
!   if (!is_gimple_stmt (t))
      abort ();
  #endif
  
--- 52,58 ----
       tree t;
  {
  #if defined ENABLE_CHECKING
!   if (!is_gimple_stmt (t) && !is_essa_node (t))
      abort ();
  #endif
  
Index: tree.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.c,v
retrieving revision 1.263.2.38
diff -d -c -p -r1.263.2.38 tree.c
*** tree.c	1 Jul 2003 04:04:32 -0000	1.263.2.38
--- tree.c	1 Jul 2003 20:52:15 -0000
*************** body_is_empty (t)
*** 5378,5381 ****
--- 5378,5392 ----
    return true;
  }
  
+ bool
+ is_essa_node (t)
+   tree t;
+ {
+   if (TREE_CODE (t) == ELEFT_NODE || TREE_CODE (t) == EPHI_NODE
+       || TREE_CODE (t) == EUSE_NODE || TREE_CODE (t) == EEXIT_NODE
+       || TREE_CODE (t) == EKILL_NODE)
+     return true;
+   return false;
+  }
+ 
  #include "gt-tree.h"
Index: tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.h,v
retrieving revision 1.342.2.73
diff -d -c -p -r1.342.2.73 tree.h
*** tree.h	1 Jul 2003 19:50:45 -0000	1.342.2.73
--- tree.h	1 Jul 2003 20:52:15 -0000
*************** extern tree get_callee_fndecl           
*** 2991,2996 ****
--- 2991,2997 ----
  extern void set_decl_assembler_name             PARAMS ((tree));
  extern int type_num_arguments                   PARAMS ((tree));
  extern tree lhd_unsave_expr_now		PARAMS ((tree));
+ extern bool is_essa_node                        PARAMS ((tree));
  
  
  /* In stmt.c */

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