diff options
author | Chris Lattner <sabre@nondot.org> | 2004-08-16 21:36:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-08-16 21:36:40 +0000 |
commit | 753c16c9cb50c1a6f034d851d4bcf25f3af013e7 (patch) | |
tree | 6ca1a97371071b15c78742c4c50524d3ffe93014 /lib/CodeGen/MachineInstrAnnot.cpp | |
parent | e97db86e1717c60e4f11e53f7b2550add7859f39 (diff) |
Nuke this file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15829 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineInstrAnnot.cpp')
-rw-r--r-- | lib/CodeGen/MachineInstrAnnot.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/lib/CodeGen/MachineInstrAnnot.cpp b/lib/CodeGen/MachineInstrAnnot.cpp deleted file mode 100644 index 9dd684c1cc..0000000000 --- a/lib/CodeGen/MachineInstrAnnot.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//===-- MachineInstrAnnot.cpp ---------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines Annotations used to pass information between code -// generation phases. -// -//===----------------------------------------------------------------------===// - -#include "../Target/SparcV9/MachineInstrAnnot.h" -#include "../Target/SparcV9/SparcV9TmpInstr.h" -#include "llvm/CodeGen/MachineCodeForInstruction.h" -#include "llvm/Instructions.h" -#include "llvm/Type.h" -using namespace llvm; - -CallArgsDescriptor::CallArgsDescriptor(CallInst* _callInstr, - TmpInstruction* _retAddrReg, - bool _isVarArgs, bool _noPrototype) - : callInstr(_callInstr), - funcPtr(isa<Function>(_callInstr->getCalledValue()) - ? NULL : _callInstr->getCalledValue()), - retAddrReg(_retAddrReg), - isVarArgs(_isVarArgs), - noPrototype(_noPrototype) { - unsigned int numArgs = callInstr->getNumOperands(); - argInfoVec.reserve(numArgs); - assert(callInstr->getOperand(0) == callInstr->getCalledValue() - && "Operand 0 is ignored in the loop below!"); - for (unsigned int i=1; i < numArgs; ++i) - argInfoVec.push_back(CallArgInfo(callInstr->getOperand(i))); - - // Enter this object in the MachineCodeForInstr object of the CallInst. - // This transfers ownership of this object. - MachineCodeForInstruction::get(callInstr).setCallArgsDescriptor(this); -} - -CallInst *CallArgsDescriptor::getReturnValue() const { - return (callInstr->getType() == Type::VoidTy? NULL : callInstr); -} - -// Mechanism to get the descriptor for a CALL MachineInstr. -// We get the LLVM CallInstr from the ret. addr. register argument -// of the CALL MachineInstr (which is explicit operand #3 for indirect -// calls or the last implicit operand for direct calls). We then get -// the CallArgsDescriptor from the MachineCodeForInstruction object for -// the CallInstr. -// This is roundabout but avoids adding a new map or annotation just -// to keep track of CallArgsDescriptors. -// -CallArgsDescriptor *CallArgsDescriptor::get(const MachineInstr* MI) { - const TmpInstruction* retAddrReg = - cast<TmpInstruction>(isa<Function>(MI->getOperand(0).getVRegValue()) - ? MI->getImplicitRef(MI->getNumImplicitRefs()-1) - : MI->getOperand(2).getVRegValue()); - - assert(retAddrReg->getNumOperands() == 1 && - isa<CallInst>(retAddrReg->getOperand(0)) && - "Location of callInstr arg for CALL instr. changed? FIX THIS CODE!"); - - const CallInst* callInstr = cast<CallInst>(retAddrReg->getOperand(0)); - - CallArgsDescriptor* desc = - MachineCodeForInstruction::get(callInstr).getCallArgsDescriptor(); - assert(desc->getCallInst()==callInstr && "Incorrect call args descriptor?"); - return desc; -} |