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.