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]

Patch: PR 21562


The basic problem here is that we wind up with a CFG where block 0 is
not the successor of ENTRY, like this:
<x-tad-bigger>
# BLOCK 0
# PRED: 9 [14.9%] (true,exec) 1 [29.0%] (true,exec)
<L37>:;
posD.1132 = aposD.1138;
# SUCC: 12 [100.0%] (fallthru)

# BLOCK 12
# PRED: 0 [100.0%] (fallthru) ENTRY [100.0%] (fallthru,exec)
<L38>:;
*((intD.0 *) ((unsigned intD.3) posD.1132 * 4) + mrD.1133) = 1;</x-tad-bigger>


and verify_flow and expand do not tolerate this. The patch prevents this form from being
generated at the point where it happens, in tree-outof-ssa. (Mainline) bootstrapped and tested
on Darwin. OK? Is this wanted in any release branches, and which?

2005-05-18 Dale Johannesen <dalej@apple.com>

PR 21562
* tree-outof-ssa.c (analyze_edges_for_bb): Don't call
make_forwarder_block on block 0.

Attachment: diffs1.txt
Description: Text document

Attachment: pr21562.c
Description: Text document



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