xref: /minix3/minix/llvm/passes/include/asr/ASRPass.h (revision 139ae0da30a29899932f86c1be71334d4c174f51)
10b98e8aaSDavid van Moolenbroek #ifndef ASR_PASS_H
20b98e8aaSDavid van Moolenbroek 
30b98e8aaSDavid van Moolenbroek #define ASR_PASS_H
40b98e8aaSDavid van Moolenbroek 
50b98e8aaSDavid van Moolenbroek #include <pass.h>
60b98e8aaSDavid van Moolenbroek 
70b98e8aaSDavid van Moolenbroek #define DEFAULT_SEED                    0
80b98e8aaSDavid van Moolenbroek 
90b98e8aaSDavid van Moolenbroek #define GV_DEFAULT_MAX_OFFSET           10000
100b98e8aaSDavid van Moolenbroek #define GV_DEFAULT_MAX_PADDING          50
110b98e8aaSDavid van Moolenbroek #define GV_DEFAULT_DO_PERMUTATE         1
120b98e8aaSDavid van Moolenbroek 
130b98e8aaSDavid van Moolenbroek #define FUNC_DEFAULT_MAX_OFFSET         10000
140b98e8aaSDavid van Moolenbroek #define FUNC_DEFAULT_MAX_PADDING        100
150b98e8aaSDavid van Moolenbroek #define FUNC_DEFAULT_MAX_BB_SHIFT       50
160b98e8aaSDavid van Moolenbroek #define FUNC_DEFAULT_DO_PERMUTATE       1
170b98e8aaSDavid van Moolenbroek 
180b98e8aaSDavid van Moolenbroek #define STACK_DEFAULT_DO_OFFSET         1
190b98e8aaSDavid van Moolenbroek #define STACK_DEFAULT_MAX_OFFSET        50
200b98e8aaSDavid van Moolenbroek 
210b98e8aaSDavid van Moolenbroek #define STACKFRAME_DEFAULT_DO_OFFSET    1
220b98e8aaSDavid van Moolenbroek #define STACKFRAME_DEFAULT_MAX_OFFSET   50
230b98e8aaSDavid van Moolenbroek #define STACKFRAME_DEFAULT_MAX_PADDING  5000
240b98e8aaSDavid van Moolenbroek #define STACKFRAME_DEFAULT_DO_PERMUTATE 1
250b98e8aaSDavid van Moolenbroek #define STACKFRAME_DEFAULT_STATIC_PADDING 1
26*139ae0daSDavid van Moolenbroek #define STACKFRAME_DEFAULT_CALLER_PADDING 0 // broken, disabled (see note in code)
270b98e8aaSDavid van Moolenbroek 
280b98e8aaSDavid van Moolenbroek #define HEAP_MAP_DEFAULT_DO_PERMUTATE   1
290b98e8aaSDavid van Moolenbroek 
300b98e8aaSDavid van Moolenbroek #define HEAP_DEFAULT_MAX_OFFSET         10000
310b98e8aaSDavid van Moolenbroek #define HEAP_DEFAULT_MAX_PADDING        100
320b98e8aaSDavid van Moolenbroek 
330b98e8aaSDavid van Moolenbroek #define MAP_DEFAULT_MAX_OFFSET_PAGES    10
340b98e8aaSDavid van Moolenbroek #define MAP_DEFAULT_MAX_PADDING_PAGES   3
350b98e8aaSDavid van Moolenbroek 
360b98e8aaSDavid van Moolenbroek using namespace llvm;
370b98e8aaSDavid van Moolenbroek 
380b98e8aaSDavid van Moolenbroek namespace llvm {
390b98e8aaSDavid van Moolenbroek 
400b98e8aaSDavid van Moolenbroek class ASRPass : public ModulePass {
410b98e8aaSDavid van Moolenbroek 
420b98e8aaSDavid van Moolenbroek   public:
430b98e8aaSDavid van Moolenbroek       static char ID;
440b98e8aaSDavid van Moolenbroek 
450b98e8aaSDavid van Moolenbroek       ASRPass();
460b98e8aaSDavid van Moolenbroek 
470b98e8aaSDavid van Moolenbroek       virtual bool runOnModule(Module &M);
480b98e8aaSDavid van Moolenbroek 
490b98e8aaSDavid van Moolenbroek };
500b98e8aaSDavid van Moolenbroek 
510b98e8aaSDavid van Moolenbroek }
520b98e8aaSDavid van Moolenbroek 
530b98e8aaSDavid van Moolenbroek #endif
54