Index: test/Transforms/NaCl/rewrite-longjmp-no-store.ll |
diff --git a/test/Transforms/NaCl/rewrite-longjmp-no-store.ll b/test/Transforms/NaCl/rewrite-longjmp-no-store.ll |
new file mode 100644 |
index 0000000000000000000000000000000000000000..209013115517b4b63875853125208544a8cec26b |
--- /dev/null |
+++ b/test/Transforms/NaCl/rewrite-longjmp-no-store.ll |
@@ -0,0 +1,13 @@ |
+; RUN: opt < %s -rewrite-pnacl-library-calls -S | FileCheck %s |
+; Test that when there's no store of longjmp's address, no function |
+; body is generated. |
+ |
+declare void @longjmp(i64*, i32) |
+; CHECK-NOT: define internal void @longjmp(i64* %env, i32 %val) { |
Mark Seaborn
2013/05/13 23:39:58
Maybe make this stricter:
; CHECK-NOT: define{{.*}
eliben
2013/05/14 17:38:58
Done.
|
+ |
+define void @call_longjmp(i64* %arg, i32 %num) { |
+ call void @longjmp(i64* %arg, i32 %num) |
+; CHECK: call void @llvm.nacl.longjmp(i8* %jmp_buf_i8, i32 %num) |
Mark Seaborn
2013/05/13 23:39:58
Maybe check for the bitcast too?
Oh, I see rewrit
|
+ ret void |
+} |
+ |