OLD | NEW |
1 //===- PNaClABIVerifyModule.cpp - Verify PNaCl ABI rules --------===// | 1 //===- PNaClABIVerifyModule.cpp - Verify PNaCl ABI rules --------===// |
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 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 default: return false; | 135 default: return false; |
136 // (1) Always allowed. | 136 // (1) Always allowed. |
137 case Intrinsic::invariant_end: | 137 case Intrinsic::invariant_end: |
138 case Intrinsic::invariant_start: | 138 case Intrinsic::invariant_start: |
139 case Intrinsic::lifetime_end: | 139 case Intrinsic::lifetime_end: |
140 case Intrinsic::lifetime_start: | 140 case Intrinsic::lifetime_start: |
141 case Intrinsic::memcpy: | 141 case Intrinsic::memcpy: |
142 case Intrinsic::memmove: | 142 case Intrinsic::memmove: |
143 case Intrinsic::memset: | 143 case Intrinsic::memset: |
144 case Intrinsic::nacl_read_tp: | 144 case Intrinsic::nacl_read_tp: |
| 145 case Intrinsic::nacl_setjmp: |
| 146 case Intrinsic::nacl_longjmp: |
145 case Intrinsic::trap: | 147 case Intrinsic::trap: |
146 return true; | 148 return true; |
147 | 149 |
148 // (2) Known to be never allowed. | 150 // (2) Known to be never allowed. |
149 case Intrinsic::not_intrinsic: | 151 case Intrinsic::not_intrinsic: |
150 case Intrinsic::adjust_trampoline: | 152 case Intrinsic::adjust_trampoline: |
151 case Intrinsic::eh_dwarf_cfa: | 153 case Intrinsic::eh_dwarf_cfa: |
152 case Intrinsic::eh_return_i32: | 154 case Intrinsic::eh_return_i32: |
153 case Intrinsic::eh_return_i64: | 155 case Intrinsic::eh_return_i64: |
154 case Intrinsic::eh_sjlj_callsite: | 156 case Intrinsic::eh_sjlj_callsite: |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 } | 313 } |
312 | 314 |
313 char PNaClABIVerifyModule::ID = 0; | 315 char PNaClABIVerifyModule::ID = 0; |
314 INITIALIZE_PASS(PNaClABIVerifyModule, "verify-pnaclabi-module", | 316 INITIALIZE_PASS(PNaClABIVerifyModule, "verify-pnaclabi-module", |
315 "Verify module for PNaCl", false, true) | 317 "Verify module for PNaCl", false, true) |
316 | 318 |
317 ModulePass *llvm::createPNaClABIVerifyModulePass( | 319 ModulePass *llvm::createPNaClABIVerifyModulePass( |
318 PNaClABIErrorReporter *Reporter) { | 320 PNaClABIErrorReporter *Reporter) { |
319 return new PNaClABIVerifyModule(Reporter); | 321 return new PNaClABIVerifyModule(Reporter); |
320 } | 322 } |
OLD | NEW |