diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-05-30 18:43:04 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-05-30 18:43:04 +0000 | 
| commit | 221895303cc351b70b16bdfffd1963f0f830f394 (patch) | |
| tree | ea8a0d56d0e5492384e473dc59112e1065e3472b /llvm/lib/Transforms | |
| parent | 36b75a4619e870c75b7b95eb60bdeb4cbee2b54f (diff) | |
| download | bcm5719-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.cpp | 2 | 
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 | 

