33 const Type *RetTy,
const char * Func);
43 std::vector<TargetLowering::ArgListEntry> &FuncArgs,
55 void PreAnalyzeFormalArgumentsForVectorFloat(
86 :
CCState(CC, isVarArg, MF, locs, C), SpecialCallingConv(SpecialCC) {}
91 std::vector<TargetLowering::ArgListEntry> &FuncArgs,
93 PreAnalyzeCallOperands(Outs, FuncArgs, Func);
95 OriginalArgWasF128.
clear();
96 OriginalArgWasFloat.
clear();
97 OriginalArgWasFloatVector.
clear();
98 CallOperandIsFixed.
clear();
112 PreAnalyzeFormalArgumentsForF128(Ins);
114 OriginalArgWasFloat.
clear();
115 OriginalArgWasF128.
clear();
116 OriginalArgWasFloatVector.
clear();
122 PreAnalyzeCallResultForF128(Ins, RetTy, Func);
123 PreAnalyzeCallResultForVectorFloat(Ins, RetTy);
125 OriginalArgWasFloat.
clear();
126 OriginalArgWasF128.
clear();
127 OriginalArgWasFloatVector.
clear();
132 PreAnalyzeReturnForF128(Outs);
133 PreAnalyzeReturnForVectorFloat(Outs);
135 OriginalArgWasFloat.
clear();
136 OriginalArgWasF128.
clear();
137 OriginalArgWasFloatVector.
clear();
142 PreAnalyzeReturnForF128(ArgsFlags);
143 PreAnalyzeReturnForVectorFloat(ArgsFlags);
145 OriginalArgWasFloat.
clear();
146 OriginalArgWasF128.
clear();
147 OriginalArgWasFloatVector.
clear();
153 return OriginalArgWasFloat[ValNo];
156 return OriginalArgWasFloatVector[ValNo];
159 return OriginalRetWasFloatVector[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...
This class represents lattice values for constants.
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 WasOriginalArgFloat(unsigned ValNo)
bool WasOriginalArgVectorFloat(unsigned ValNo) const
bool WasOriginalRetVectorFloat(unsigned ValNo) const
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
static SpecialCallingConvType getSpecialCallingConvForCallee(const SDNode *Callee, const MipsSubtarget &Subtarget)
Determine the SpecialCallingConvType for the given callee.
void AnalyzeCallResult(const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn, const Type *RetTy, const char *Func)
bool WasOriginalArgF128(unsigned ValNo)
MipsCCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C, SpecialCallingConvType SpecialCC=NoSpecialCallingConv)
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important class for using LLVM in a threaded context.
SpecialCallingConvType getSpecialCallingConv()
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 char *Func)
Represents one node in the SelectionDAG.
amdgpu Simplify well known AMD library false FunctionCallee Callee
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)
bool CheckReturn(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
CheckReturn - Analyze the return values of a function, returning true if the return can be performed ...
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)