xref: /minix3/minix/llvm/passes/include/magic/MagicCheckpointPass.h (revision 3e457fe321c6af238c180a2b4a0f010f8b4f8c31)
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