Interval analysis in LLVM

Is there any interval-based analysis framework in LLVM?

I am looking for iteratively collapsing sub-regions of a control-flow graph and use the summary of the collapsed region in its enclosing region; something akin to Allen and Cocke’s, “A program data flow analysis procedure,” (

This is not same as the region pass since a region is defined only over a single entry single exit in LLVM.

-Milind Chabbi

Check out : include/llvm/Analysis/IntervalIterator.h


I haven't read the paper but from the brief description this might
be what you are looking for: