PEMOGEN: automatic adaptive performance modeling during program runtime
LLVM: a compilation framework for lifelong program analysis & transformation