This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: [tree-ssa]: out-of-ssa breaks if something adds a pred
- From: Chris Lattner <sabre at nondot dot org>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Andrew MacLeod <amacleod at redhat dot com>, <gcc at gcc dot gnu dot org>,<dnovillo at redhat dot com>
- Date: Fri, 6 Jun 2003 15:08:26 -0500 (CDT)
- Subject: RE: [tree-ssa]: out-of-ssa breaks if something adds a pred
Daniel Berlin said:
> When something ends up adding a predecessor block to a block with phi's
> in it, out-of-ssa breaks. This is because it expects all the phi's to
> have the same number of args/edges as preds, but phi's created *before*
> the pred was added have one less argument/edge.
...
> Unless i'm having a stupid moment, this really shouldn't be an abort
> case. If a phi doesn't have an argument for a given edge, it means
> nothing needs to be done for that edge, no?
IMO, this is a failure of the edge insertion routines or the caller of the
routine. An invariant in SSA is that the number of entries in a PHI node
must be equal to the number of predecessors. The out-of-ssa pass is
correct to break if this is not true...
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/