summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/strcpy_chk.ll
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2010-03-06 10:50:38 +0000
committerEric Christopher <echristo@apple.com>2010-03-06 10:50:38 +0000
commita7fb58f5f5b24be9f3ed5eadcf10ad024b810859 (patch)
tree88cdd46e4a6927ad5cf071bcd4ba9eda4e07eec2 /llvm/test/Transforms/InstCombine/strcpy_chk.ll
parentb0759be4d07b3dec03b527fe3b50260d6c6d6e86 (diff)
downloadbcm5719-llvm-a7fb58f5f5b24be9f3ed5eadcf10ad024b810859.tar.gz
bcm5719-llvm-a7fb58f5f5b24be9f3ed5eadcf10ad024b810859.zip
Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
out the remainder of the calls that we should lower in some way and move the tests to the new correct directory. Fix up tests that are now optimized more than they were before by -instcombine. llvm-svn: 97875
Diffstat (limited to 'llvm/test/Transforms/InstCombine/strcpy_chk.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/strcpy_chk.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/strcpy_chk.ll b/llvm/test/Transforms/InstCombine/strcpy_chk.ll
new file mode 100644
index 00000000000..a20a13c78b2
--- /dev/null
+++ b/llvm/test/Transforms/InstCombine/strcpy_chk.ll
@@ -0,0 +1,12 @@
+; RUN: opt < %s -instcombine -S | FileCheck %s
+@a = common global [60 x i8] zeroinitializer, align 1 ; <[60 x i8]*> [#uses=1]
+@.str = private constant [8 x i8] c"abcdefg\00" ; <[8 x i8]*> [#uses=1]
+
+define i8* @foo() nounwind {
+; CHECK: @foo
+; CHECK-NEXT: call i8* @strcpy
+ %call = call i8* @__strcpy_chk(i8* getelementptr inbounds ([60 x i8]* @a, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str, i32 0, i32 0), i32 60) ; <i8*> [#uses=1]
+ ret i8* %call
+}
+
+declare i8* @__strcpy_chk(i8*, i8*, i32) nounwind
OpenPOWER on IntegriCloud