summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2005-05-15 21:26:59 +0000
committerReid Spencer <rspencer@reidspencer.com>2005-05-15 21:26:59 +0000
commit9b1749b1f49453c91395c753c27f60cadb23bb76 (patch)
tree967ef865958a647b174b4ef32cc6fd8501efeaf2
parentf74eb3fa2a0761054277664a9eecb61e93ee614a (diff)
downloadllvm-9b1749b1f49453c91395c753c27f60cadb23bb76.tar.gz
llvm-9b1749b1f49453c91395c753c27f60cadb23bb76.tar.bz2
llvm-9b1749b1f49453c91395c753c27f60cadb23bb76.tar.xz
Add a case with non-constant argument for testing the transform:
ffs(x) -> (x == 0 ? 0 : llvm.cttz(0)+1) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22069 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/SimplifyLibCalls/FFS.ll8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/Transforms/SimplifyLibCalls/FFS.ll b/test/Transforms/SimplifyLibCalls/FFS.ll
index 35b5d3fb6c..4981d13b6d 100644
--- a/test/Transforms/SimplifyLibCalls/FFS.ll
+++ b/test/Transforms/SimplifyLibCalls/FFS.ll
@@ -4,12 +4,17 @@
declare int %ffs(int)
declare int %ffsl(int)
declare int %ffsll(long)
+declare int %__builtin_ffs(int)
+
+%non_const = external global int
implementation ; Functions:
int %main () {
+ %arg = load int* %non_const
+ %val0 = call int %ffs(int %arg)
%val1 = call int %ffs(int 1)
- %val2 = call int %ffs(int 2048)
+ %val2 = call int %__builtin_ffs(int 2048)
%val3 = call int %ffsl(int 65536)
%val4 = call int %ffsll(long 1024)
%val5 = call int %ffsll(long 17179869184)
@@ -19,5 +24,6 @@ int %main () {
%rslt3 = add int %val5, %val6
%rslt4 = add int %rslt1, %rslt2
%rslt5 = add int %rslt4, %rslt3
+ %rslt6 = add int %rslt5, %val0
ret int %rslt5
}