1*3e457fe3SDavid van Moolenbroek #ifndef MAGIC_CHECKPOINT_PASS_H 2*3e457fe3SDavid van Moolenbroek #define MAGIC_CHECKPOINT_PASS_H 3*3e457fe3SDavid van Moolenbroek 4*3e457fe3SDavid van Moolenbroek #include <magic/magic.h> 5*3e457fe3SDavid van Moolenbroek #include <magic/MagicPass.h> 6*3e457fe3SDavid van Moolenbroek 7*3e457fe3SDavid van Moolenbroek using namespace llvm; 8*3e457fe3SDavid van Moolenbroek 9*3e457fe3SDavid van Moolenbroek namespace llvm { 10*3e457fe3SDavid van Moolenbroek 11*3e457fe3SDavid van Moolenbroek #define magicCheckpointPassLog(M) DEBUG(dbgs() << "MagicCheckpointPass: " << M << "\n") 12*3e457fe3SDavid van Moolenbroek 13*3e457fe3SDavid van Moolenbroek class MagicCheckpointPass : public ModulePass { 14*3e457fe3SDavid van Moolenbroek 15*3e457fe3SDavid van Moolenbroek public: 16*3e457fe3SDavid van Moolenbroek static char ID; 17*3e457fe3SDavid van Moolenbroek 18*3e457fe3SDavid van Moolenbroek MagicCheckpointPass(); 19*3e457fe3SDavid van Moolenbroek 20*3e457fe3SDavid van Moolenbroek virtual void getAnalysisUsage(AnalysisUsage &AU) const; 21*3e457fe3SDavid van Moolenbroek virtual bool runOnModule(Module &M); 22*3e457fe3SDavid van Moolenbroek 23*3e457fe3SDavid van Moolenbroek private: 24*3e457fe3SDavid van Moolenbroek MagicPass *MP; 25*3e457fe3SDavid van Moolenbroek }; 26*3e457fe3SDavid van Moolenbroek 27*3e457fe3SDavid van Moolenbroek } 28*3e457fe3SDavid van Moolenbroek 29*3e457fe3SDavid van Moolenbroek #endif 30