summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-11-30 06:19:18 +0000
committerAnders Carlsson <andersca@mac.com>2010-11-30 06:19:18 +0000
commit303023d9ffba419ffdd68862ea790e00c4f30cbf (patch)
tree96df7e5dfe97e9404b0fd13be884aa6bd15ca614 /test/Transforms
parent1d0629558320666685694a4ea80b0b242242efb6 (diff)
downloadllvm-303023d9ffba419ffdd68862ea790e00c4f30cbf.tar.gz
llvm-303023d9ffba419ffdd68862ea790e00c4f30cbf.tar.bz2
llvm-303023d9ffba419ffdd68862ea790e00c4f30cbf.tar.xz
Add a puts optimization that converts puts() to putchar('\n').
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120398 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/SimplifyLibCalls/Puts.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyLibCalls/Puts.ll b/test/Transforms/SimplifyLibCalls/Puts.ll
new file mode 100644
index 0000000000..48431434cc
--- /dev/null
+++ b/test/Transforms/SimplifyLibCalls/Puts.ll
@@ -0,0 +1,15 @@
+; Test that the PutsOptimizer works correctly
+; RUN: opt < %s -simplify-libcalls -S | FileCheck %s
+
+target datalayout = "-p:64:64:64"
+
+@.str = private constant [1 x i8] zeroinitializer
+
+declare i32 @puts(i8*)
+
+define void @foo() {
+entry:
+; CHECK: call i32 @putchar(i32 10)
+ %call = call i32 @puts(i8* getelementptr inbounds ([1 x i8]* @.str, i32 0, i32 0))
+ ret void
+}