diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/CodeGen/MachineInstrAnnot.h | 4 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineInstrAnnot.cpp | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineInstrAnnot.h b/llvm/include/llvm/CodeGen/MachineInstrAnnot.h index bd3f7333e32..be3aaac299d 100644 --- a/llvm/include/llvm/CodeGen/MachineInstrAnnot.h +++ b/llvm/include/llvm/CodeGen/MachineInstrAnnot.h @@ -68,12 +68,12 @@ public: unsigned int getNumArgs() const { return argInfoVec.size(); } CallArgInfo& getArgInfo(unsigned int op) { assert(op < argInfoVec.size()); return argInfoVec[op]; } - const CallInst* getReturnValue() const { return callInstr; } + const CallInst* getReturnValue() const; const Value* getIndirectFuncPtr() const { return funcPtr; } TmpInstruction* getReturnAddrReg() const { return retAddrReg; } bool isVarArgsFunc() const { return isVarArgs; } bool hasNoPrototype() const { return noPrototype; } - + // Annotation mechanism to annotate a MachineInstr with the descriptor. // This is not demand-driven because annotations can only be created // at restricted points during code generation. diff --git a/llvm/lib/CodeGen/MachineInstrAnnot.cpp b/llvm/lib/CodeGen/MachineInstrAnnot.cpp index 960c49283e5..ef064450ed0 100644 --- a/llvm/lib/CodeGen/MachineInstrAnnot.cpp +++ b/llvm/lib/CodeGen/MachineInstrAnnot.cpp @@ -30,3 +30,10 @@ CallArgsDescriptor::CallArgsDescriptor(const CallInst* _callInstr, for (unsigned int i=1; i < numArgs; ++i) argInfoVec.push_back(CallArgInfo(callInstr->getOperand(i))); } + + +const CallInst* +CallArgsDescriptor::getReturnValue() const +{ + return (callInstr->getType() == Type::VoidTy? NULL : callInstr); +} |