aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/ADCE/dce_pure_call.ll9
-rw-r--r--test/Transforms/ADCE/dce_pure_invoke.ll13
2 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/ADCE/dce_pure_call.ll b/test/Transforms/ADCE/dce_pure_call.ll
new file mode 100644
index 0000000..dad2912
--- /dev/null
+++ b/test/Transforms/ADCE/dce_pure_call.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep call
+
+declare int %strlen(sbyte*)
+
+void %test() {
+ ;; Dead call should be deleted!
+ call int %strlen(sbyte *null)
+ ret void
+}
diff --git a/test/Transforms/ADCE/dce_pure_invoke.ll b/test/Transforms/ADCE/dce_pure_invoke.ll
new file mode 100644
index 0000000..608c655
--- /dev/null
+++ b/test/Transforms/ADCE/dce_pure_invoke.ll
@@ -0,0 +1,13 @@
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep null
+
+declare int %strlen(sbyte*)
+
+int %test() {
+ ;; Dead call should be deleted!
+ invoke int %strlen(sbyte *null) to label %Cont unwind label %Other
+Cont:
+ ret int 0
+Other:
+ ret int 1
+}
+