This is the mail archive of the gcc@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]

Re: [tree-ssa] Lazy updating of stmt operands


Hello,

> > > tree-dfa.c:compute_immediate_uses()
> > 
> > Which needs to pass through every single statement in the program. Not
> > really terribly efficient.
> > 
> *shrug*, it's used by SSA-CCP.  Since def-use edges are only needed by
> some passes, I don't think it would be worth our while trying to
> maintain them in get_stmt_operands.

the cases when I would find it convenient:

1) Merge_blocks.  The natural way (for virtual operands, the only way) of
   getting rid of the degenerated phi nodes in the second block is to copy
   propagate the set implied by the phi node.  Since cfg cleanup should
   be fast, I don't like scanning of all statements as implied by
   compute_immediate_uses.
2) Generic incremental updating of SSA also requires the def-use edges;
   (this can probably be avoided by solving each special case separately
   or fixing the tree-ssa form only after end of the pass, by calling
   rewrite_into_ssa).

Neither of them is a showstopper, but they seemed important enough to me
to ask for ideas.

Zdenek


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