llvm/lib/CodeGen/MachineInstrAnnot.cpp
Chris Lattner 035dfbe7f2 * Removed extraneous #includes
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:06 +00:00

33 lines
1.2 KiB
C++

//===-- MachineInstrAnnot.cpp ---------------------------------------------===//
//
// This file defines Annotations used to pass information between code
// generation phases.
//
//===----------------------------------------------------------------------===//
#include "llvm/CodeGen/MachineInstrAnnot.h"
#include "llvm/Annotation.h"
#include "llvm/iOther.h"
AnnotationID CallArgsDescriptor::AID(AnnotationManager::
getID("CodeGen::CallArgsDescriptor"));
CallArgsDescriptor::CallArgsDescriptor(const CallInst* _callInstr,
TmpInstruction* _retAddrReg,
bool _isVarArgs, bool _noPrototype)
: Annotation(AID),
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)));
}