10 #ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZCALLINGCONV_H
11 #define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZCALLINGCONV_H
35 bool IsShortVectorType(
EVT ArgVT) {
42 :
CCState(CC, isVarArg, MF, locs, C) {}
48 for (
unsigned i = 0; i < Ins.
size(); ++i)
51 ArgIsShortVector.
clear();
52 for (
unsigned i = 0; i < Ins.
size(); ++i)
53 ArgIsShortVector.
push_back(IsShortVectorType(Ins[i].ArgVT));
62 for (
unsigned i = 0; i < Outs.
size(); ++i)
65 ArgIsShortVector.
clear();
66 for (
unsigned i = 0; i < Outs.
size(); ++i)
67 ArgIsShortVector.
push_back(IsShortVectorType(Outs[i].ArgVT));
78 bool IsFixed(
unsigned ValNo) {
return ArgIsFixed[ValNo]; }
void push_back(const T &Elt)
const unsigned ArgGPRs[NumArgGPRs]
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...
const unsigned NumArgGPRs
bool isVector() const
isVector - Return true if this is a vector value type.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
const unsigned NumArgFPRs
unsigned getStoreSize() const
getStoreSize - Return the number of bytes overwritten by a store of the specified value type...
This is an important class for using LLVM in a threaded context.
void AnalyzeCallOperands(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
EVT - Extended Value Type.
bool IsShortVector(unsigned ValNo)
CCState - This class holds information needed while lowering arguments and return values...
bool IsFixed(unsigned ValNo)
const unsigned ArgFPRs[NumArgFPRs]
SystemZCCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C)
void AnalyzeCallOperands(const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)
AnalyzeCallOperands - Analyze the outgoing arguments to a call, incorporating info about the passed v...