44 std::vector<TargetLowering::ArgListEntry> &FuncArgs,
70 :
CCState(CC, isVarArg, MF, locs, C), SpecialCallingConv(SpecialCC) {}
75 std::vector<TargetLowering::ArgListEntry> &FuncArgs,
77 PreAnalyzeCallOperands(Outs, FuncArgs, CallNode);
79 OriginalArgWasF128.
clear();
80 OriginalArgWasFloat.
clear();
81 CallOperandIsFixed.
clear();
95 PreAnalyzeFormalArgumentsForF128(Ins);
97 OriginalArgWasFloat.
clear();
98 OriginalArgWasF128.
clear();
104 PreAnalyzeCallResultForF128(Ins, CLI);
106 OriginalArgWasFloat.
clear();
107 OriginalArgWasF128.
clear();
112 PreAnalyzeReturnForF128(Outs);
114 OriginalArgWasFloat.
clear();
115 OriginalArgWasF128.
clear();
120 PreAnalyzeReturnForF128(ArgsFlags);
122 OriginalArgWasFloat.
clear();
123 OriginalArgWasF128.
clear();
129 return OriginalArgWasFloat[ValNo];
void AnalyzeCallResult(const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn)
AnalyzeCallResult - Analyze the return values of a call, incorporating info about the passed values i...
void AnalyzeFormalArguments(const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn)
void AnalyzeFormalArguments(const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn)
AnalyzeFormalArguments - Analyze an array of argument values, incorporating info about the formals in...
bool CCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)
CCAssignFn - This function assigns a location for Val, updating State to reflect the change...
bool CheckReturn(const SmallVectorImpl< ISD::OutputArg > &ArgsFlags, CCAssignFn Fn)
CheckReturn - Analyze the return values of a function, returning true if the return can be performed ...
bool WasOriginalArgFloat(unsigned ValNo)
void AnalyzeCallResult(const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn, const TargetLowering::CallLoweringInfo &CLI)
static SpecialCallingConvType getSpecialCallingConvForCallee(const SDNode *Callee, const MipsSubtarget &Subtarget)
Determine the SpecialCallingConvType for the given callee.
bool WasOriginalArgF128(unsigned ValNo)
MipsCCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C, SpecialCallingConvType SpecialCC=NoSpecialCallingConv)
This is an important class for using LLVM in a threaded context.
SpecialCallingConvType getSpecialCallingConv()
This structure contains all information that is necessary for lowering calls.
CCState - This class holds information needed while lowering arguments and return values...
void AnalyzeCallOperands(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn, std::vector< TargetLowering::ArgListEntry > &FuncArgs, const SDNode *CallNode)
Represents one node in the SelectionDAG.
void AnalyzeCallOperands(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
AnalyzeCallOperands - Analyze the outgoing arguments to a call, incorporating info about the passed v...
bool IsCallOperandFixed(unsigned ValNo)
void AnalyzeReturn(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
void AnalyzeReturn(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
AnalyzeReturn - Analyze the returned values of a return, incorporating info about the result values i...
bool CheckReturn(const SmallVectorImpl< ISD::OutputArg > &ArgsFlags, CCAssignFn Fn)