#pragma once DIVINE_RELAX_WARNINGS #include #include #include DIVINE_UNRELAX_WARNINGS namespace lart { // LowerSelect converts SelectInst instructions into conditional branch and PHI // instructions. struct LowerSelectPass : llvm::FunctionPass { static char id; LowerSelectPass() : llvm::FunctionPass( id ) { } virtual bool runOnFunction( llvm::Function &fn ) override; void lower( llvm::SelectInst *si ); }; inline llvm::FunctionPass * createLowerSelectPass() { return new LowerSelectPass(); } }