Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 ; RUN: pnacl-abicheck -pnaclabi-allow-intrinsics=0 < %s | FileCheck %s | |
|
eliben
2013/05/07 15:27:40
I guess at least one sanity check with this flag=1
jvoung (off chromium)
2013/05/07 17:39:46
Done.
| |
| 2 ; RUN: pnacl-abicheck -pnaclabi-allow-intrinsics=0 \ | |
| 3 ; RUN: -pnaclabi-allow-debug-metadata < %s | FileCheck %s --check-prefix=DBG | |
| 4 ; Test that only white-listed intrinsics are allowed. | |
| 5 | |
| 6 ; Some disallowed intrinsics. | |
| 7 ; CHECK: Function llvm.dbg.value is a disallowed LLVM intrinsic | |
| 8 ; DBG-NOT: Function llvm.dbg.value is a disallowed LLVM intrinsic | |
| 9 declare void @llvm.dbg.value(metadata, i64, metadata) | |
| 10 | |
| 11 ; Allowed intrinsics. | |
| 12 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | |
| 13 declare void @llvm.lifetime.start(i64, i8* nocapture) | |
| 14 ; CHECK-NOT: Function llvm.lifetime.start is a disallowed LLVM intrinsic | |
| 15 declare void @llvm.lifetime.end(i64, i8* nocapture) | |
| 16 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i32 is a disallowed LLVM intrinsic | |
| 17 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, | |
| 18 i32 %len, i32 %align, i1 %isvolatile) | |
| 19 ; CHECK-NOT: Function llvm.memcpy.p0i8.p0i8.i64 is a disallowed LLVM intrinsic | |
| 20 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* %dest, i8* %src, | |
| 21 i64 %len, i32 %align, i1 %isvolatile) | |
| 22 ; CHECK-NOT: Function llvm.nacl.read.tp is a disallowed LLVM intrinsic | |
| 23 declare i8* @llvm.nacl.read.tp() | |
| 24 | |
| 25 ; More disallowed intrinsics. | |
| 26 ; CHECK: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic | |
| 27 ; DBG: Function llvm.adjust.trampoline is a disallowed LLVM intrinsic | |
| 28 declare i8* @llvm.adjust.trampoline(i8*) | |
| 29 | |
| 30 ; CHECK: Function llvm.init.trampoline is a disallowed LLVM intrinsic | |
| 31 declare void @llvm.init.trampoline(i8*, i8*, i8*) | |
| 32 | |
| 33 ; CHECK: Function llvm.x86.aesni.aeskeygenassist is a disallowed LLVM intrinsic | |
| 34 declare <2 x i64> @llvm.x86.aesni.aeskeygenassist(<2 x i64>, i8) | |
| 35 | |
| 36 ; CHECK: Function llvm.va_copy is a disallowed LLVM intrinsic | |
| 37 declare void @llvm.va_copy(i8*, i8*) | |
| OLD | NEW |