39 unsigned NumRegs = TLI.getNumRegisters(F.
getContext(), VT);
41 for (
unsigned i = 0;
i != NumRegs; ++
i)
51 if (Results.
size() > 1) {
60 for (
auto &Arg : F.
args())
static MVT getIntegerVT(unsigned BitWidth)
void push_back(const T &Elt)
This file defines the interfaces that WebAssembly uses to lower LLVM code into a selection DAG...
A parsed version of the target data layout string in and methods for querying it. ...
LLVMContext & getContext() const
getContext - Return a reference to the LLVMContext associated with this function. ...
Function Alias Analysis Results
Type * getReturnType() const
Returns the type of the ret val.
unsigned getNumVirtRegs() const
getNumVirtRegs - Return the number of virtual registers created.
void ComputeLegalValueVTs(const Function &F, const TargetMachine &TM, Type *Ty, SmallVectorImpl< MVT > &ValueVTs)
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Reg
All possible values of the reg field in the ModR/M byte.
void ComputeValueVTs(const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< uint64_t > *Offsets=nullptr, uint64_t StartingOffset=0)
ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual...
MVT - Machine Value Type.
The instances of the Type class are immutable: once they are created, they are never changed...
void ComputeSignatureVTs(const Function &F, const TargetMachine &TM, SmallVectorImpl< MVT > &Params, SmallVectorImpl< MVT > &Results)
EVT - Extended Value Type.
static const unsigned UnusedReg
This file declares the WebAssembly-specific subclass of TargetSubtarget.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
const STC & getSubtarget(const Function &F) const
This method returns a pointer to the specified type of TargetSubtargetInfo.
~WebAssemblyFunctionInfo() override
const DataLayout & getDataLayout() const
Get the data layout for the module's target platform.
MachineRegisterInfo & getRegInfo()
getRegInfo - Return information about the registers currently in use.
LLVM_ATTRIBUTE_ALWAYS_INLINE size_type size() const
unsigned getPointerSizeInBits(unsigned AS=0) const
Layout pointer size, in bits FIXME: The defaults need to be removed once all of the backends/clients ...
This file declares WebAssembly-specific per-machine-function information.
const DataLayout createDataLayout() const
Create a DataLayout.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Module * getParent()
Get the module that this global value is contained inside of...
Primary interface to the complete machine description for the target machine.
iterator_range< arg_iterator > args()