summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-10-20 00:34:35 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-10-20 00:34:35 +0000
commit462098824f9563f5afd0fb85d1f7368af1fa116d (patch)
tree5fac3046caae6624e5fbb54acaa9cd418b571f86 /llvm/test
parentadd38c12b84a57d282aa624ba764a9a2b3f94c44 (diff)
downloadbcm5719-llvm-462098824f9563f5afd0fb85d1f7368af1fa116d.tar.gz
bcm5719-llvm-462098824f9563f5afd0fb85d1f7368af1fa116d.zip
"@string = constant i8 0" is a value i8* string of length zero. Analyze that
correctly in GetStringLength, fixing PR11181! llvm-svn: 142558
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/SimplifyLibCalls/StrLen.ll6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyLibCalls/StrLen.ll b/llvm/test/Transforms/SimplifyLibCalls/StrLen.ll
index 45b349d6840..acd8aaf6e54 100644
--- a/llvm/test/Transforms/SimplifyLibCalls/StrLen.ll
+++ b/llvm/test/Transforms/SimplifyLibCalls/StrLen.ll
@@ -6,6 +6,7 @@ target datalayout = "e-p:32:32"
@hello = constant [6 x i8] c"hello\00" ; <[6 x i8]*> [#uses=3]
@null = constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=3]
@null_hello = constant [7 x i8] c"\00hello\00" ; <[7 x i8]*> [#uses=1]
+@nullstring = constant i8 0
declare i32 @strlen(i8*)
@@ -54,3 +55,8 @@ define i1 @test7() {
%ne_null = icmp ne i32 %null_l, 0 ; <i1> [#uses=1]
ret i1 %ne_null
}
+
+define i32 @test8() {
+ %len = tail call i32 @strlen(i8* @nullstring) nounwind
+ ret i32 %len
+}
OpenPOWER on IntegriCloud