OLD | NEW |
1 //===- PNaClABIVerifyModule.h - Verify PNaCl ABI rules ----------*- C++ -*-===// | 1 //===- PNaClABIVerifyModule.h - Verify PNaCl ABI rules ----------*- 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 // Verify module-level PNaCl ABI requirements (specifically those that do not | 10 // Verify module-level PNaCl ABI requirements (specifically those that do not |
11 // require looking at the function bodies). | 11 // require looking at the function bodies). |
12 // | 12 // |
13 // | 13 // |
14 //===----------------------------------------------------------------------===// | 14 //===----------------------------------------------------------------------===// |
15 | 15 |
16 #ifndef LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H | 16 #ifndef LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H |
17 #define LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H | 17 #define LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H |
18 | 18 |
19 #include "llvm/ADT/StringMap.h" | 19 #include "llvm/ADT/StringMap.h" |
20 #include "llvm/Analysis/NaCl.h" | 20 #include "llvm/Analysis/NaCl.h" |
21 #include "llvm/IR/Module.h" | 21 #include "llvm/IR/Module.h" |
22 #include "llvm/Pass.h" | 22 #include "llvm/Pass.h" |
23 | 23 |
24 namespace llvm { | 24 namespace llvm { |
25 | 25 |
26 class PNaClAllowedIntrinsics; | 26 class PNaClAllowedIntrinsics; |
27 | 27 |
28 // This pass should not touch function bodies, to stay streaming-friendly | 28 // This pass should not touch function bodies, to stay streaming-friendly |
29 class PNaClABIVerifyModule : public ModulePass { | 29 class PNaClABIVerifyModule : public ModulePass { |
30 PNaClABIVerifyModule(const PNaClABIVerifyModule&) LLVM_DELETED_FUNCTION; | 30 PNaClABIVerifyModule(const PNaClABIVerifyModule&) = delete; |
31 void operator=(const PNaClABIVerifyModule&) LLVM_DELETED_FUNCTION; | 31 void operator=(const PNaClABIVerifyModule&) = delete; |
32 public: | 32 public: |
33 static char ID; | 33 static char ID; |
34 PNaClABIVerifyModule() : | 34 PNaClABIVerifyModule() : |
35 ModulePass(ID), | 35 ModulePass(ID), |
36 Reporter(new PNaClABIErrorReporter), | 36 Reporter(new PNaClABIErrorReporter), |
37 ReporterIsOwned(true), | 37 ReporterIsOwned(true), |
38 StreamingMode(false), | 38 StreamingMode(false), |
39 SeenEntryPoint(false) { | 39 SeenEntryPoint(false) { |
40 initializePNaClABIVerifyModulePass(*PassRegistry::getPassRegistry()); | 40 initializePNaClABIVerifyModulePass(*PassRegistry::getPassRegistry()); |
41 } | 41 } |
(...skipping 25 matching lines...) Expand all Loading... |
67 | 67 |
68 void checkGlobalIsFlattened(const GlobalVariable *GV); | 68 void checkGlobalIsFlattened(const GlobalVariable *GV); |
69 PNaClABIErrorReporter *Reporter; | 69 PNaClABIErrorReporter *Reporter; |
70 bool ReporterIsOwned; | 70 bool ReporterIsOwned; |
71 bool StreamingMode; | 71 bool StreamingMode; |
72 bool SeenEntryPoint; | 72 bool SeenEntryPoint; |
73 }; | 73 }; |
74 | 74 |
75 } | 75 } |
76 #endif // LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H | 76 #endif // LLVM_ANALYSIS_NACL_PNACLABIVERIFYMODULE_H |
OLD | NEW |