[llvm-commits] [llvm] r71644 - in /llvm/trunk: lib/Transforms/Scalar/SimplifyLibCalls.cpp test/Transforms/SimplifyLibCalls/FFS.ll
Chris Lattner
sabre at nondot.org
Tue May 12 23:26:11 PDT 2009
Author: lattner
Date: Wed May 13 01:26:11 2009
New Revision: 71644
URL: http://llvm.org/viewvc/llvm-project?rev=71644&view=rev
Log:
Fix PR4206 - crash in simplify lib calls
Modified:
llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp
llvm/trunk/test/Transforms/SimplifyLibCalls/FFS.ll
Modified: llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp?rev=71644&r1=71643&r2=71644&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp Wed May 13 01:26:11 2009
@@ -1116,7 +1116,7 @@
Value *F = Intrinsic::getDeclaration(Callee->getParent(),
Intrinsic::cttz, &ArgType, 1);
Value *V = B.CreateCall(F, Op, "cttz");
- V = B.CreateAdd(V, ConstantInt::get(Type::Int32Ty, 1), "tmp");
+ V = B.CreateAdd(V, ConstantInt::get(V->getType(), 1), "tmp");
V = B.CreateIntCast(V, Type::Int32Ty, false, "tmp");
Value *Cond = B.CreateICmpNE(Op, Constant::getNullValue(ArgType), "tmp");
Modified: llvm/trunk/test/Transforms/SimplifyLibCalls/FFS.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyLibCalls/FFS.ll?rev=71644&r1=71643&r2=71644&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyLibCalls/FFS.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyLibCalls/FFS.ll Wed May 13 01:26:11 2009
@@ -28,3 +28,9 @@
ret i32 %rslt5
}
+
+; PR4206
+define i32 @a(i64) nounwind {
+ %2 = call i32 @ffsll(i64 %0) ; <i32> [#uses=1]
+ ret i32 %2
+}
More information about the llvm-commits
mailing list