We have implemented our ideas in the LLVM [28] compilation infrastructure, and have used this implementation to improve the effectiveness of Polly-LLVM [17], a loop-optimizer used in tandem with that compiler.