[LLVMdev] Requiring LiveIntervals

Chris Lattner sabre at nondot.org
Tue Sep 20 07:56:58 PDT 2005

On Tue, 20 Sep 2005, Tzu-Chien Chiu wrote:

> One of my pass requires LiveIntervals to build the interference graph,


> because LiveVariables do not provide an interface to iterate through
> all viritual registers.

Ok, you could add a method to LiveVariables that returns 
VirtRegInfo.size().  The virtual registers are defined by the range: 

Alternatively, the same information can be obtained from the SSARegMap for 
the function: given a MachineFunction, use something like:

NumVRegs = MF.getSSARegMap()->getLastVirtReg()+1;

These also start from MRegisterInfo::FirstVirtualRegister.

> But LiveIntervalAnalysis.h is not in
> "include/llvm/CodeGen", so I have to either include it by:
>  #include "../../llvm/lib/CodeGen/LiveIntervalAnalysis.h"
> or point my project include path to "llvm/lib/CodeGen" (I use Visual Studio).
> Why LiveIntervalAnalysis.h is not in "include/llvm/CodeGen" ?

It was intended to be used as an internal interface, but if you really 
would like it, I would have no problem promoting it to be a public 
interface.  Let me know what you'd like.



More information about the llvm-dev mailing list