diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 4 | ||||
-rw-r--r-- | lib/VMCore/Instructions.cpp | 20 |
2 files changed, 3 insertions, 21 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 084a328..b7b4009 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -2580,7 +2580,9 @@ InstructionList : InstructionList Inst { BBTerminatorInst : RET ReturnedVal { // Return with a result... - $$ = new ReturnInst(*$2); + ValueList &VL = *$2; + if (!VL.empty()) + $$ = new ReturnInst(&VL[0], VL.size()); delete $2; CHECK_FOR_ERROR } diff --git a/lib/VMCore/Instructions.cpp b/lib/VMCore/Instructions.cpp index 012aad1..e66f5e9 100644 --- a/lib/VMCore/Instructions.cpp +++ b/lib/VMCore/Instructions.cpp @@ -598,26 +598,6 @@ ReturnInst::ReturnInst(BasicBlock *InsertAtEnd) : TerminatorInst(Type::VoidTy, Instruction::Ret, &RetVal, 0, InsertAtEnd) { } -ReturnInst::ReturnInst(const std::vector<Value *> &retVals, - Instruction *InsertBefore) - : TerminatorInst(Type::VoidTy, Instruction::Ret, &RetVal, retVals.size(), - InsertBefore) { - if (!retVals.empty()) - init(&retVals[0], retVals.size()); -} -ReturnInst::ReturnInst(const std::vector<Value *> &retVals, - BasicBlock *InsertAtEnd) - : TerminatorInst(Type::VoidTy, Instruction::Ret, &RetVal, retVals.size(), - InsertAtEnd) { - if (!retVals.empty()) - init(&retVals[0], retVals.size()); -} -ReturnInst::ReturnInst(const std::vector<Value *> &retVals) - : TerminatorInst(Type::VoidTy, Instruction::Ret, &RetVal, retVals.size()) { - if (!retVals.empty()) - init(&retVals[0], retVals.size()); -} - ReturnInst::ReturnInst(Value * const* retVals, unsigned N, Instruction *InsertBefore) : TerminatorInst(Type::VoidTy, Instruction::Ret, &RetVal, N, InsertBefore) { |