summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-05-30 18:43:04 +0000
committerChris Lattner <sabre@nondot.org>2009-05-30 18:43:04 +0000
commit221895303cc351b70b16bdfffd1963f0f830f394 (patch)
treeea8a0d56d0e5492384e473dc59112e1065e3472b /llvm/lib/Transforms
parent36b75a4619e870c75b7b95eb60bdeb4cbee2b54f (diff)
downloadbcm5719-llvm-221895303cc351b70b16bdfffd1963f0f830f394.tar.gz
bcm5719-llvm-221895303cc351b70b16bdfffd1963f0f830f394.zip
fix PR4284, a bug in simplifylibcalls handling memcmp. Patch by
Benjamin Kramer! llvm-svn: 72625
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp
index 8c41c728c06..4b0064090cf 100644
--- a/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp
@@ -878,7 +878,7 @@ struct VISIBILITY_HIDDEN MemCmpOpt : public LibCallOptimization {
if (Len == 1) { // memcmp(S1,S2,1) -> *LHS - *RHS
Value *LHSV = B.CreateLoad(CastToCStr(LHS, B), "lhsv");
Value *RHSV = B.CreateLoad(CastToCStr(RHS, B), "rhsv");
- return B.CreateZExt(B.CreateSub(LHSV, RHSV, "chardiff"), CI->getType());
+ return B.CreateSExt(B.CreateSub(LHSV, RHSV, "chardiff"), CI->getType());
}
// memcmp(S1,S2,2) != 0 -> (*(short*)LHS ^ *(short*)RHS) != 0
OpenPOWER on IntegriCloud