OLD | NEW |
1 //===-- NaCl.h - NaCl Transformations ---------------------------*- C++ -*-===// | 1 //===-- NaCl.h - NaCl Transformations ---------------------------*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 | 9 |
10 #ifndef LLVM_TRANSFORMS_NACL_H | 10 #ifndef LLVM_TRANSFORMS_NACL_H |
11 #define LLVM_TRANSFORMS_NACL_H | 11 #define LLVM_TRANSFORMS_NACL_H |
12 | 12 |
13 #include "llvm/CodeGen/Passes.h" | 13 #include "llvm/CodeGen/Passes.h" |
14 | 14 |
15 namespace llvm { | 15 namespace llvm { |
16 | 16 |
| 17 // XXX: move this to InitializePasses.h! |
| 18 class PassRegistry; |
| 19 void initializeExpandAllocasPass(PassRegistry&); |
| 20 void initializeAllocateDataSegmentPass(PassRegistry&); |
| 21 void initializeSandboxIndirectCallsPass(PassRegistry&); |
| 22 void initializeSandboxMemoryAccessesPass(PassRegistry&); |
| 23 void initializeStripTlsPass(PassRegistry&); |
| 24 |
17 class BasicBlockPass; | 25 class BasicBlockPass; |
18 class Function; | 26 class Function; |
19 class FunctionPass; | 27 class FunctionPass; |
20 class FunctionType; | 28 class FunctionType; |
21 class Instruction; | 29 class Instruction; |
22 class ModulePass; | 30 class ModulePass; |
23 class Use; | 31 class Use; |
24 class Value; | 32 class Value; |
25 | 33 |
26 BasicBlockPass *createCombineVectorInstructionsPass(); | 34 BasicBlockPass *createCombineVectorInstructionsPass(); |
27 BasicBlockPass *createConstantInsertExtractElementIndexPass(); | 35 BasicBlockPass *createConstantInsertExtractElementIndexPass(); |
28 BasicBlockPass *createExpandGetElementPtrPass(); | 36 BasicBlockPass *createExpandGetElementPtrPass(); |
29 BasicBlockPass *createExpandShuffleVectorPass(); | 37 BasicBlockPass *createExpandShuffleVectorPass(); |
30 BasicBlockPass *createFixVectorLoadStoreAlignmentPass(); | 38 BasicBlockPass *createFixVectorLoadStoreAlignmentPass(); |
31 BasicBlockPass *createPromoteI1OpsPass(); | 39 BasicBlockPass *createPromoteI1OpsPass(); |
32 FunctionPass *createExpandConstantExprPass(); | 40 FunctionPass *createExpandConstantExprPass(); |
33 FunctionPass *createExpandStructRegsPass(); | 41 FunctionPass *createExpandStructRegsPass(); |
34 FunctionPass *createInsertDivideCheckPass(); | 42 FunctionPass *createInsertDivideCheckPass(); |
35 FunctionPass *createPromoteIntegersPass(); | 43 FunctionPass *createPromoteIntegersPass(); |
36 FunctionPass *createRemoveAsmMemoryPass(); | 44 FunctionPass *createRemoveAsmMemoryPass(); |
37 FunctionPass *createResolvePNaClIntrinsicsPass(); | 45 FunctionPass *createResolvePNaClIntrinsicsPass(); |
38 ModulePass *createAddPNaClExternalDeclsPass(); | 46 ModulePass *createAddPNaClExternalDeclsPass(); |
| 47 ModulePass *createAllocateDataSegmentPass(); |
| 48 ModulePass *createExpandAllocasPass(); |
| 49 ModulePass *createSandboxIndirectCallsPass(); |
| 50 ModulePass *createSandboxMemoryAccessesPass(); |
| 51 ModulePass *createStripTlsPass(); |
39 ModulePass *createCanonicalizeMemIntrinsicsPass(); | 52 ModulePass *createCanonicalizeMemIntrinsicsPass(); |
40 ModulePass *createExpandArithWithOverflowPass(); | 53 ModulePass *createExpandArithWithOverflowPass(); |
41 ModulePass *createExpandByValPass(); | 54 ModulePass *createExpandByValPass(); |
42 ModulePass *createExpandCtorsPass(); | 55 ModulePass *createExpandCtorsPass(); |
43 ModulePass *createExpandIndirectBrPass(); | 56 ModulePass *createExpandIndirectBrPass(); |
44 ModulePass *createExpandSmallArgumentsPass(); | 57 ModulePass *createExpandSmallArgumentsPass(); |
45 ModulePass *createExpandTlsConstantExprPass(); | 58 ModulePass *createExpandTlsConstantExprPass(); |
46 ModulePass *createExpandTlsPass(); | 59 ModulePass *createExpandTlsPass(); |
47 ModulePass *createExpandVarArgsPass(); | 60 ModulePass *createExpandVarArgsPass(); |
48 ModulePass *createFlattenGlobalsPass(); | 61 ModulePass *createFlattenGlobalsPass(); |
(...skipping 28 matching lines...) Expand all Loading... |
77 // In order to change a function's type, the function must be | 90 // In order to change a function's type, the function must be |
78 // recreated. RecreateFunction() recreates Func with type NewType. | 91 // recreated. RecreateFunction() recreates Func with type NewType. |
79 // It copies or moves across everything except the argument values, | 92 // It copies or moves across everything except the argument values, |
80 // which the caller must update because the argument types might be | 93 // which the caller must update because the argument types might be |
81 // different. | 94 // different. |
82 Function *RecreateFunction(Function *Func, FunctionType *NewType); | 95 Function *RecreateFunction(Function *Func, FunctionType *NewType); |
83 | 96 |
84 } | 97 } |
85 | 98 |
86 #endif | 99 #endif |
OLD | NEW |