summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/TailCallElim/inf-recursion.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-09-10 20:58:55 +0000
committerChris Lattner <sabre@nondot.org>2007-09-10 20:58:55 +0000
commitc75cbe6473d7be8c6eab57c1652394fbc57d9dd3 (patch)
tree070911b8bae70a0d9f39879671cbd961cd647ecb /llvm/test/Transforms/TailCallElim/inf-recursion.ll
parentacb1e7478f470e55851250348bdff2ae5e5330ba (diff)
downloadbcm5719-llvm-c75cbe6473d7be8c6eab57c1652394fbc57d9dd3.tar.gz
bcm5719-llvm-c75cbe6473d7be8c6eab57c1652394fbc57d9dd3.zip
Prevent tailcallelim from breaking "recursive" calls to builtins.
llvm-svn: 41804
Diffstat (limited to 'llvm/test/Transforms/TailCallElim/inf-recursion.ll')
-rw-r--r--llvm/test/Transforms/TailCallElim/inf-recursion.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/Transforms/TailCallElim/inf-recursion.ll b/llvm/test/Transforms/TailCallElim/inf-recursion.ll
new file mode 100644
index 00000000000..d3461719b51
--- /dev/null
+++ b/llvm/test/Transforms/TailCallElim/inf-recursion.ll
@@ -0,0 +1,10 @@
+; RUN: llvm-as < %s | opt -tailcallelim | grep call
+; Don't turn this into an infinite loop, this is probably the implementation
+; of fabs and we expect the codegen to lower fabs.
+
+define double @fabs(double %f) {
+entry:
+ %tmp2 = call double @fabs( double %f ) ; <double> [#uses=1]
+ ret double %tmp2
+}
+
OpenPOWER on IntegriCloud