[Bug tree-optimization/26447] [4.2 Regression] verify_flow_info failed, load PRE with java program
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed May 3 10:37:00 GMT 2006
------- Comment #19 from rguenth at gcc dot gnu dot org 2006-05-03 10:36 -------
Thanks!
So, the problem is that PRE inserts (and later realifies) fake stores in basic
blocks with abnormal control flow. It would need to do the insertion on the
outgoing edges in this case, or deal with splitting the block and adjusting EH
info at realifying point. But the much easier solution is to just punt on
basic blocks that have abnormal control flow. Like
Index: tree-ssa-pre.c
===================================================================
*** tree-ssa-pre.c (revision 113493)
--- tree-ssa-pre.c (working copy)
*************** insert_fake_stores (void)
*** 3216,3221 ****
--- 3216,3229 ----
FOR_ALL_BB (block)
{
block_stmt_iterator bsi;
+ int i;
+ /* Do not insert fake stores in basic blocks that have
+ abnormal control flow. */
+ for (i=0; i<EDGE_COUNT (block->succs); ++i)
+ if (EDGE_SUCC (block, i)->flags & EDGE_COMPLEX)
+ break;
+ if (i != EDGE_COUNT (block->succs))
+ continue;
for (bsi = bsi_start (block); !bsi_end_p (bsi); bsi_next (&bsi))
{
tree stmt = bsi_stmt (bsi);
Danny?
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dberlin at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26447
More information about the Gcc-bugs
mailing list