diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-04-16 01:16:20 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-04-16 01:16:20 +0000 |
commit | 403e9694f9e284cb145bb6f40b1b7c9f70a125f1 (patch) | |
tree | 1b7aaa95239227c67473d032a9dfae5b48c122d2 /llvm/lib/Transforms/Utils/BuildLibCalls.cpp | |
parent | 393e08536dbe9ca338c6d15a97731737c174ce7b (diff) | |
download | llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.zip llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.tar.gz llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.tar.bz2 |
back out r101423 and r101397, they break llvm-gcc self-host on darwin10
llvm-svn: 101434
Diffstat (limited to 'llvm/lib/Transforms/Utils/BuildLibCalls.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/BuildLibCalls.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp index 1e20430..767fa3a 100644 --- a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp +++ b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp @@ -395,11 +395,11 @@ bool SimplifyFortifiedLibCalls::fold(CallInst *CI, const TargetData *TD) { FT->getParamType(2) != TD->getIntPtrType(Context) || FT->getParamType(3) != TD->getIntPtrType(Context)) return false; - - if (isFoldable(3, 2, false)) { - EmitMemCpy(CI->getOperand(0), CI->getOperand(1), CI->getOperand(2), + + if (isFoldable(4, 3, false)) { + EmitMemCpy(CI->getOperand(1), CI->getOperand(2), CI->getOperand(3), 1, false, B, TD); - replaceCall(CI->getOperand(0)); + replaceCall(CI->getOperand(1)); return true; } return false; @@ -418,11 +418,11 @@ bool SimplifyFortifiedLibCalls::fold(CallInst *CI, const TargetData *TD) { FT->getParamType(2) != TD->getIntPtrType(Context) || FT->getParamType(3) != TD->getIntPtrType(Context)) return false; - - if (isFoldable(3, 2, false)) { - EmitMemMove(CI->getOperand(0), CI->getOperand(1), CI->getOperand(2), + + if (isFoldable(4, 3, false)) { + EmitMemMove(CI->getOperand(1), CI->getOperand(2), CI->getOperand(3), 1, false, B, TD); - replaceCall(CI->getOperand(0)); + replaceCall(CI->getOperand(1)); return true; } return false; @@ -436,12 +436,12 @@ bool SimplifyFortifiedLibCalls::fold(CallInst *CI, const TargetData *TD) { FT->getParamType(2) != TD->getIntPtrType(Context) || FT->getParamType(3) != TD->getIntPtrType(Context)) return false; - - if (isFoldable(3, 2, false)) { - Value *Val = B.CreateIntCast(CI->getOperand(1), B.getInt8Ty(), + + if (isFoldable(4, 3, false)) { + Value *Val = B.CreateIntCast(CI->getOperand(2), B.getInt8Ty(), false); - EmitMemSet(CI->getOperand(0), Val, CI->getOperand(2), false, B, TD); - replaceCall(CI->getOperand(0)); + EmitMemSet(CI->getOperand(1), Val, CI->getOperand(3), false, B, TD); + replaceCall(CI->getOperand(1)); return true; } return false; @@ -462,8 +462,8 @@ bool SimplifyFortifiedLibCalls::fold(CallInst *CI, const TargetData *TD) { // st[rp]cpy_chk call which may fail at runtime if the size is too long. // TODO: It might be nice to get a maximum length out of the possible // string lengths for varying. - if (isFoldable(2, 1, true)) { - Value *Ret = EmitStrCpy(CI->getOperand(0), CI->getOperand(1), B, TD, + if (isFoldable(3, 2, true)) { + Value *Ret = EmitStrCpy(CI->getOperand(1), CI->getOperand(2), B, TD, Name.substr(2, 6)); replaceCall(Ret); return true; @@ -479,10 +479,10 @@ bool SimplifyFortifiedLibCalls::fold(CallInst *CI, const TargetData *TD) { !FT->getParamType(2)->isIntegerTy() || FT->getParamType(3) != TD->getIntPtrType(Context)) return false; - - if (isFoldable(3, 2, false)) { - Value *Ret = EmitStrNCpy(CI->getOperand(0), CI->getOperand(1), - CI->getOperand(2), B, TD, Name.substr(2, 7)); + + if (isFoldable(4, 3, false)) { + Value *Ret = EmitStrNCpy(CI->getOperand(1), CI->getOperand(2), + CI->getOperand(3), B, TD, Name.substr(2, 7)); replaceCall(Ret); return true; } |