diff --git a/lib/Transforms/ExprTypeConvert.cpp b/lib/Transforms/ExprTypeConvert.cpp index 92a88773a05..73db901889d 100644 --- a/lib/Transforms/ExprTypeConvert.cpp +++ b/lib/Transforms/ExprTypeConvert.cpp @@ -512,6 +512,8 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC) { const FunctionType *NewTy = FunctionType::get(Ty, ArgTys, FT->isVarArg()); const PointerType *NewPTy = PointerType::get(NewTy); + if (Ty == Type::VoidTy) + Name = ""; // Make sure not to name calls that now return void! Res = new CallInst(Constant::getNullValue(NewPTy), std::vector(I->op_begin()+1, I->op_end()), @@ -1154,6 +1156,9 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal, const FunctionType *NewTy = cast(NewPTy->getElementType()); const FunctionType::ParamTypes &PTs = NewTy->getParamTypes(); + if (NewTy->getReturnType() == Type::VoidTy) + Name = ""; // Make sure not to name a void call! + // Get an iterator to the call instruction so that we can insert casts for // operands if needbe. Note that we do not require operands to be // convertable, we can insert casts if they are convertible but not