Polyhedral optimizations for LLVM
