X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FSparcV9%2FMachineInstrAnnot.h;h=be3aaac299d8a67e5964e53f12a6fe5a4d2866c7;hb=8f7802727f796b60fed79bb76f908ff289ad382c;hp=fa80c7297ffba7b0a5db87944b958602e432c536;hpb=975f6d4f4477a68f9b322843a1bf2ebc24214b3a;p=oota-llvm.git diff --git a/lib/Target/SparcV9/MachineInstrAnnot.h b/lib/Target/SparcV9/MachineInstrAnnot.h index fa80c7297ff..be3aaac299d 100644 --- a/lib/Target/SparcV9/MachineInstrAnnot.h +++ b/lib/Target/SparcV9/MachineInstrAnnot.h @@ -1,29 +1,20 @@ -// $Id$ -*-c++-*- -//*************************************************************************** -// File: -// MachineInstrAnnot.h +//===-- llvm/CodeGen/MachineInstrAnnot.h ------------------------*- C++ -*-===// +// +// Annotations used to pass information between code generation phases. // -// Purpose: -// Annotations used to pass information between code generation phases. -// -// History: -// 5/10/02 - Vikram Adve - Created -//**************************************************************************/ +//===----------------------------------------------------------------------===// #ifndef MACHINE_INSTR_ANNOT_h #define MACHINE_INSTR_ANNOT_h #include "llvm/Annotation.h" #include "llvm/CodeGen/MachineInstr.h" -#include class Value; class TmpInstruction; class CallInst; - class CallArgInfo { -private: // Flag values for different argument passing methods static const unsigned char IntArgReg = 0x1; static const unsigned char FPArgReg = 0x2; @@ -60,9 +51,8 @@ public: class CallArgsDescriptor: public Annotation { // Annotation for a MachineInstr -private: static AnnotationID AID; // AnnotationID for this class - std::vector argInfoVec; // Descriptor for each argument + std::vector argInfoVec; // Descriptor for each argument const CallInst* callInstr; // The call instruction == result value const Value* funcPtr; // Pointer for indirect calls TmpInstruction* retAddrReg; // Tmp value for return address reg. @@ -78,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. @@ -93,4 +83,4 @@ public: }; -#endif MACHINE_INSTR_ANNOT_h +#endif