summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bolvansky <david.bolvansky@gmail.com>2019-06-09 14:56:46 +0000
committerDavid Bolvansky <david.bolvansky@gmail.com>2019-06-09 14:56:46 +0000
commit4e95b36b6de034425570f0fc583ddd004699df3c (patch)
tree5d5eb20a68d3c9026594e75522609ca07bffe826
parent06beb4822982cd13695983ffb2ec3743e0dfad34 (diff)
downloadbcm5719-llvm-4e95b36b6de034425570f0fc583ddd004699df3c.tar.gz
bcm5719-llvm-4e95b36b6de034425570f0fc583ddd004699df3c.zip
[NFC] Added test from PR42084 for D63058
llvm-svn: 362906
-rw-r--r--llvm/test/Transforms/Inline/inline_negative_result.ll66
1 files changed, 66 insertions, 0 deletions
diff --git a/llvm/test/Transforms/Inline/inline_negative_result.ll b/llvm/test/Transforms/Inline/inline_negative_result.ll
new file mode 100644
index 00000000000..8dd185ca6d3
--- /dev/null
+++ b/llvm/test/Transforms/Inline/inline_negative_result.ll
@@ -0,0 +1,66 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt < %s -inline -S | FileCheck %s
+
+; PR42084
+
+define internal fastcc void @func4() {
+; CHECK-LABEL: @func4(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: br label [[FOR_COND:%.*]]
+; CHECK: for.cond:
+; CHECK-NEXT: tail call void (...) @g()
+; CHECK-NEXT: br label [[FOR_COND]]
+;
+entry:
+ br label %for.cond
+
+for.cond:
+ tail call void (...) @g()
+ br label %for.cond
+}
+
+define internal fastcc void @func3() {
+; CHECK-LABEL: @func3(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: tail call fastcc void @func4()
+; CHECK-NEXT: unreachable
+;
+entry:
+ tail call fastcc void @func4()
+ unreachable
+}
+
+define internal fastcc void @func2() {
+; CHECK-LABEL: @func2(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: tail call fastcc void @func3()
+; CHECK-NEXT: unreachable
+;
+entry:
+ tail call fastcc void @func3()
+ unreachable
+}
+
+define internal fastcc void @func1() {
+; CHECK-LABEL: @func1(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: tail call fastcc void @func2()
+; CHECK-NEXT: unreachable
+;
+entry:
+ tail call fastcc void @func2()
+ unreachable
+}
+
+define i32 @main() {
+; CHECK-LABEL: @main(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: tail call fastcc void @func1()
+; CHECK-NEXT: unreachable
+;
+entry:
+ tail call fastcc void @func1()
+ unreachable
+}
+
+declare void @g(...)
OpenPOWER on IntegriCloud