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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 case Intrinsic::eh_dwarf_cfa: // For EH tests. | 167 case Intrinsic::eh_dwarf_cfa: // For EH tests. |
168 case Intrinsic::exp: // Rounding not defined: support with fast-math? | 168 case Intrinsic::exp: // Rounding not defined: support with fast-math? |
169 case Intrinsic::exp2: // Rounding not defined: support with fast-math? | 169 case Intrinsic::exp2: // Rounding not defined: support with fast-math? |
170 case Intrinsic::expect: // From __builtin_expect. | 170 case Intrinsic::expect: // From __builtin_expect. |
171 case Intrinsic::flt_rounds: | 171 case Intrinsic::flt_rounds: |
172 case Intrinsic::frameaddress: // Support for 0-level or not? | 172 case Intrinsic::frameaddress: // Support for 0-level or not? |
173 case Intrinsic::log: // Rounding not defined: support with fast-math? | 173 case Intrinsic::log: // Rounding not defined: support with fast-math? |
174 case Intrinsic::log2: // Rounding not defined: support with fast-math? | 174 case Intrinsic::log2: // Rounding not defined: support with fast-math? |
175 case Intrinsic::log10: // Rounding not defined: support with fast-math? | 175 case Intrinsic::log10: // Rounding not defined: support with fast-math? |
176 case Intrinsic::nacl_target_arch: // Used by translator self-build. | 176 case Intrinsic::nacl_target_arch: // Used by translator self-build. |
177 case Intrinsic::pow: // Rounding not defined: support with fast-math? | 177 case Intrinsic::pow: // Rounding is supposed to be the same as libm. |
| 178 case Intrinsic::powi: // Rounding not defined: support with fast-math? |
178 case Intrinsic::prefetch: // Could ignore if target doesn't support? | 179 case Intrinsic::prefetch: // Could ignore if target doesn't support? |
179 case Intrinsic::returnaddress: // Support for 0-level or not? | 180 case Intrinsic::returnaddress: // Support for 0-level or not? |
180 case Intrinsic::sin: // Rounding not defined: support with fast-math? | 181 case Intrinsic::sin: // Rounding not defined: support with fast-math? |
181 case Intrinsic::sqrt: | 182 case Intrinsic::sqrt: |
182 case Intrinsic::stackrestore: // Used to support C99 VLAs. | 183 case Intrinsic::stackrestore: // Used to support C99 VLAs. |
183 case Intrinsic::stacksave: | 184 case Intrinsic::stacksave: |
184 // the *_with_overflow return struct types, so we'll need to fix these. | 185 // the *_with_overflow return struct types, so we'll need to fix these. |
185 case Intrinsic::sadd_with_overflow: // Introduced by -ftrapv | 186 case Intrinsic::sadd_with_overflow: // Introduced by -ftrapv |
186 case Intrinsic::ssub_with_overflow: | 187 case Intrinsic::ssub_with_overflow: |
187 case Intrinsic::uadd_with_overflow: | 188 case Intrinsic::uadd_with_overflow: |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 } | 302 } |
302 | 303 |
303 char PNaClABIVerifyModule::ID = 0; | 304 char PNaClABIVerifyModule::ID = 0; |
304 INITIALIZE_PASS(PNaClABIVerifyModule, "verify-pnaclabi-module", | 305 INITIALIZE_PASS(PNaClABIVerifyModule, "verify-pnaclabi-module", |
305 "Verify module for PNaCl", false, true) | 306 "Verify module for PNaCl", false, true) |
306 | 307 |
307 ModulePass *llvm::createPNaClABIVerifyModulePass( | 308 ModulePass *llvm::createPNaClABIVerifyModulePass( |
308 PNaClABIErrorReporter *Reporter) { | 309 PNaClABIErrorReporter *Reporter) { |
309 return new PNaClABIVerifyModule(Reporter); | 310 return new PNaClABIVerifyModule(Reporter); |
310 } | 311 } |
OLD | NEW |