summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Coroutines/smoketest.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/Coroutines/smoketest.ll')
-rw-r--r--llvm/test/Transforms/Coroutines/smoketest.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Transforms/Coroutines/smoketest.ll b/llvm/test/Transforms/Coroutines/smoketest.ll
new file mode 100644
index 00000000000..2ed7b80ebba
--- /dev/null
+++ b/llvm/test/Transforms/Coroutines/smoketest.ll
@@ -0,0 +1,24 @@
+; Test that all coroutine passes run in the correct order at all optimization
+; levels and -disable-coroutines removes coroutine passes from the pipeline.
+;
+; RUN: opt < %s -disable-output -enable-coroutines -debug-pass=Arguments -O1 2>&1 | FileCheck %s
+; RUN: opt < %s -disable-output -enable-coroutines -debug-pass=Arguments -O2 2>&1 | FileCheck %s
+; RUN: opt < %s -disable-output -enable-coroutines -debug-pass=Arguments -O3 2>&1 | FileCheck %s
+; RUN: opt < %s -disable-output -enable-coroutines -debug-pass=Arguments \
+; RUN: -coro-early -coro-split -coro-elide -coro-cleanup 2>&1 | FileCheck %s
+; RUN: opt < %s -disable-output -debug-pass=Arguments 2>&1 \
+; RUN: | FileCheck %s -check-prefix=NOCORO
+
+; CHECK: coro-early
+; CHECK: coro-split
+; CHECK: coro-elide
+; CHECK: coro-cleanup
+
+; NOCORO-NOT: coro-early
+; NOCORO-NOT: coro-split
+; NOCORO-NOT: coro-elide
+; NOCORO-NOT: coro-cleanup
+
+define void @foo() {
+ ret void
+}
OpenPOWER on IntegriCloud