This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa]: Inserting on an entry block edge seems to cause asplit
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: "gcc-patches at gcc dot gnu dot org "Patches <gcc-patches at gcc dot gnu dot org>, RichardHenderson <rth at redhat dot com>
- Date: 22 Nov 2003 21:20:50 -0500
- Subject: Re: [tree-ssa]: Inserting on an entry block edge seems to cause asplit
- References: <502CE3B2-1D59-11D8-9DC6-000A95DA505C@dberlin.org>
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