On May 18, 2012, at 12:42 PM, dag at cray.com wrote:
> I'm debugging a problem with a custom pass and I was surprised to
> discover that LiveIntervalAnalysis depends on PHIElimination. Why is
> that so? Intervals could be useful for all sorts of things beyond
> register allocation.
>
> Just curious. Is there something about the design of LiveIntervals that
> it needs the out-of-SSA conversion?
The LiveIntervals analysis currently requires the MIs to be in SSA form +
whatever specific transforms 2-addr and phi-elim do to the instructions and
LiveVariables. There are no attempts to make it work anywhere else in the
pipeline.
For example, it doesn't understand PHI instructions.
I would like for LiveIntervals to be independent of LiveVariables and any other
passes.
/jakob