[tree-ssa]: Inserting on an entry block edge seems to cause a split

Andrew MacLeod amacleod@redhat.com
Sun Nov 23 04:46:00 GMT 2003


On Sat, 2003-11-22 at 21:04, Daniel Berlin wrote:
> Block 0 before the insert:
> (gdb) p debug_tree_bb (succ->dest)
> ;; basic block 0, loop depth 0, count 0
> ;; prev block -1, next block 1
> ;; pred:       14 ENTRY (fallthru,exec)
> ;; succ:       6 (exec)

> Block 0 after the insert:
> (gdb) p debug_tree_bb (succ->dest->succ->dest)
> ;; basic block 0, loop depth 0, count 0
> ;; prev block 15, next block 1
> ;; pred:       15 (fallthru) 14
> ;; succ:       6 (exec)

> 
> Newly created block 15:
> (gdb) p debug_tree_bb (succ->dest)
> ;; basic block 15, loop depth 0, count 0
> ;; prev block -1, next block 0
> ;; pred:       ENTRY (fallthru,exec)
> ;; succ:       0 (fallthru)
> pretmp.22_18 = pitch_49 * 3;
> 
> $7 = void
> 
> 
> Any clue why it decides it should up and create a fallthru block 
> between ENTRY_BLOCK
> and 0?
> 
Err, am I misreading it? It looks like 0 has 2 predecessors, ENTRY and
14. So if you insert on ENTRY->0, you have to split the edge since you
can't append to ENTRY... So now we have ENTRY->15->0

Nadrew



More information about the Gcc-patches mailing list