Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: lib/Analysis/NaCl/PNaClABIVerifyModule.cpp

Issue 14617017: Adding a pass - RewritePNaClLibraryCalls, that replaces known library calls with stable bitcode int… (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Addressed latest review comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698