remove some ugly code now that implicit defs are being generated in this case, thanks Steve!

llvm-svn: 41560
This commit is contained in:
Chris Lattner 2007-08-29 06:38:44 +00:00
parent c5e5027b86
commit fb38f274ff
1 changed files with 0 additions and 15 deletions

View File

@ -407,18 +407,6 @@ RValue CodeGenFunction::EmitCallExpr(const CallExpr *E) {
if (!hasAggregateLLVMType(ArgTy)) { if (!hasAggregateLLVMType(ArgTy)) {
// Scalar argument is passed by-value. // Scalar argument is passed by-value.
Args.push_back(EmitScalarExpr(E->getArg(i))); Args.push_back(EmitScalarExpr(E->getArg(i)));
if (ArgTyIt == ArgTyEnd) {
// Otherwise, if passing through "..." or to a function with no prototype,
// perform the "default argument promotions" (C99 6.5.2.2p6), which
// includes the usual unary conversions, but also promotes float to
// double.
// FIXME: remove this when the impcast is in place.
if (Args.back()->getType() == llvm::Type::FloatTy)
Args.back() = Builder.CreateFPExt(Args.back(), llvm::Type::DoubleTy,
"tmp");
// FIXME: Remove ArgIt when this is gone.
}
} else if (ArgTy->isComplexType()) { } else if (ArgTy->isComplexType()) {
// Make a temporary alloca to pass the argument. // Make a temporary alloca to pass the argument.
llvm::Value *DestMem = CreateTempAlloca(ConvertType(ArgTy)); llvm::Value *DestMem = CreateTempAlloca(ConvertType(ArgTy));
@ -429,9 +417,6 @@ RValue CodeGenFunction::EmitCallExpr(const CallExpr *E) {
EmitAggExpr(E->getArg(i), DestMem, false); EmitAggExpr(E->getArg(i), DestMem, false);
Args.push_back(DestMem); Args.push_back(DestMem);
} }
if (ArgTyIt != ArgTyEnd)
++ArgTyIt;
} }
llvm::Value *V = Builder.CreateCall(Callee, &Args[0], &Args[0]+Args.size()); llvm::Value *V = Builder.CreateCall(Callee, &Args[0], &Args[0]+Args.size());