[tree-ssa] Lazy updating of stmt operands
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Sun Dec 7 18:09:00 GMT 2003
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
More information about the Gcc
mailing list