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] ia64 bootstrap broken


Hello,

> Since 2004-01-14 bootstrap on tree-ssa branch is broken for ia64.

this patch fixes it.  Commited as obvious.

Zdenek

Index: ChangeLog.tree-ssa
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/ChangeLog.tree-ssa,v
retrieving revision 1.1.2.1096
diff -c -3 -p -r1.1.2.1096 ChangeLog.tree-ssa
*** ChangeLog.tree-ssa	17 Jan 2004 22:33:38 -0000	1.1.2.1096
--- ChangeLog.tree-ssa	18 Jan 2004 00:09:48 -0000
***************
*** 1,3 ****
--- 1,9 ----
+ 2004-01-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfghooks.c (split_block): Don't redirect edges.
+ 	* cfgrtl.c (rtl_split_block): Do it here.
+ 	* tree-cfg.c (tree_split_block): Ditto.
+ 
  2004-01-17  Richard Henderson  <rth@redhat.com>
  
  	* tree-cfg.c (verify_expr): Tidy.  Check COND_EXPR for boolean
Index: cfghooks.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfghooks.c,v
retrieving revision 1.1.2.7
diff -c -3 -p -r1.1.2.7 cfghooks.c
*** cfghooks.c	15 Jan 2004 14:39:36 -0000	1.1.2.7
--- cfghooks.c	18 Jan 2004 00:09:49 -0000
*************** edge
*** 303,309 ****
  split_block (basic_block bb, void *i)
  {
    basic_block new_bb;
-   edge e;
  
    if (!cfg_hooks->split_block)
      internal_error ("%s does not support split_block.", cfg_hooks->name);
--- 303,308 ----
*************** split_block (basic_block bb, void *i)
*** 315,326 ****
    new_bb->count = bb->count;
    new_bb->frequency = bb->frequency;
    new_bb->loop_depth = bb->loop_depth;
- 
-   /* Redirect the outgoing edges.  */
-   new_bb->succ = bb->succ;
-   bb->succ = NULL;
-   for (e = new_bb->succ; e; e = e->succ_next)
-     e->src = new_bb;
  
    if (dom_computed[CDI_DOMINATORS] >= DOM_CONS_OK)
      {
--- 314,319 ----
Index: cfgrtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgrtl.c,v
retrieving revision 1.57.2.24
diff -c -3 -p -r1.57.2.24 cfgrtl.c
*** cfgrtl.c	14 Jan 2004 22:39:33 -0000	1.57.2.24
--- cfgrtl.c	18 Jan 2004 00:09:51 -0000
*************** rtl_split_block (basic_block bb, void *i
*** 465,470 ****
--- 465,471 ----
  {
    basic_block new_bb;
    rtx insn = insnp;
+   edge e;
  
    if (!insn)
      {
*************** rtl_split_block (basic_block bb, void *i
*** 485,490 ****
--- 486,497 ----
    /* Create the new basic block.  */
    new_bb = create_basic_block (NEXT_INSN (insn), BB_END (bb), bb);
    BB_END (bb) = insn;
+ 
+   /* Redirect the outgoing edges.  */
+   new_bb->succ = bb->succ;
+   bb->succ = NULL;
+   for (e = new_bb->succ; e; e = e->succ_next)
+     e->src = new_bb;
  
    if (bb->global_live_at_start)
      {
Index: tree-cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-cfg.c,v
retrieving revision 1.1.4.256
diff -c -3 -p -r1.1.4.256 tree-cfg.c
*** tree-cfg.c	17 Jan 2004 22:33:39 -0000	1.1.4.256
--- tree-cfg.c	18 Jan 2004 00:09:54 -0000
*************** tree_split_block (basic_block bb, void *
*** 3604,3611 ****
--- 3604,3618 ----
    block_stmt_iterator bsi, bsi_tgt;
    tree act;
    basic_block new_bb;
+   edge e;
  
    new_bb = create_empty_bb (bb);
+ 
+   /* Redirect the outgoing edges.  */
+   new_bb->succ = bb->succ;
+   bb->succ = NULL;
+   for (e = new_bb->succ; e; e = e->succ_next)
+     e->src = new_bb;
  
    if (stmt && TREE_CODE ((tree) stmt) == LABEL_EXPR)
      stmt = NULL;


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