| 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 |