LLVM  8.0.1
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::LLT Class Reference

#include "llvm/Support/LowLevelTypeImpl.h"

Public Member Functions

 LLT (bool isPointer, bool isVector, uint16_t NumElements, unsigned SizeInBits, unsigned AddressSpace)
 
 LLT ()
 
 LLT (MVT VT)
 
bool isValid () const
 
bool isScalar () const
 
bool isPointer () const
 
bool isVector () const
 
uint16_t getNumElements () const
 Returns the number of elements in a vector LLT. More...
 
unsigned getSizeInBits () const
 Returns the total size of the type. Must only be called on sized types. More...
 
unsigned getScalarSizeInBits () const
 
unsigned getAddressSpace () const
 
LLT getElementType () const
 Returns the vector's element type. Only valid for vector types. More...
 
void print (raw_ostream &OS) const
 
bool operator== (const LLT &RHS) const
 
bool operator!= (const LLT &RHS) const
 

Static Public Member Functions

static LLT scalar (unsigned SizeInBits)
 Get a low-level scalar or aggregate "bag of bits". More...
 
static LLT pointer (uint16_t AddressSpace, unsigned SizeInBits)
 Get a low-level pointer in the given address space (defaulting to 0). More...
 
static LLT vector (uint16_t NumElements, unsigned ScalarSizeInBits)
 Get a low-level vector of some number of elements and element width. More...
 
static LLT vector (uint16_t NumElements, LLT ScalarTy)
 Get a low-level vector of some number of elements and element type. More...
 

Friends

struct DenseMapInfo< LLT >
 
class GISelInstProfileBuilder
 

Detailed Description

Definition at line 40 of file LowLevelTypeImpl.h.

Constructor & Destructor Documentation

◆ LLT() [1/3]

llvm::LLT::LLT ( bool  isPointer,
bool  isVector,
uint16_t  NumElements,
unsigned  SizeInBits,
unsigned  AddressSpace 
)
inlineexplicit

Definition at line 74 of file LowLevelTypeImpl.h.

◆ LLT() [2/3]

llvm::LLT::LLT ( )
inlineexplicit

Definition at line 78 of file LowLevelTypeImpl.h.

◆ LLT() [3/3]

LLT::LLT ( MVT  VT)
explicit

Member Function Documentation

◆ getAddressSpace()

unsigned llvm::LLT::getAddressSpace ( ) const
inline

◆ getElementType()

LLT llvm::LLT::getElementType ( ) const
inline

◆ getNumElements()

uint16_t llvm::LLT::getNumElements ( ) const
inline

◆ getScalarSizeInBits()

unsigned llvm::LLT::getScalarSizeInBits ( ) const
inline

◆ getSizeInBits()

unsigned llvm::LLT::getSizeInBits ( ) const
inline

Returns the total size of the type. Must only be called on sized types.

Definition at line 101 of file LowLevelTypeImpl.h.

References getNumElements(), getScalarSizeInBits(), isPointer(), and isScalar().

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::RegisterBankInfo::applyDefaultMapping(), llvm::MachineIRBuilder::buildConstant(), buildEXP(), llvm::MachineIRBuilder::buildExtOrTrunc(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildSequence(), canTurnIntoCOPY(), changeFCMPPredToAArch64CC(), llvm::LegalizerInfo::computeTables(), llvm::ConstantFoldBinOp(), llvm::LegalizerInfo::decreaseToSmallerTypesAndIncreaseToSmallest(), llvm::InstructionSelector::executeMatchTable(), llvm::LegalizerHelper::fewerElementsVector(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AArch64RegisterBankInfo::getInstrMapping(), getLeaOP(), getOffsetFromIndices(), llvm::X86GenRegisterBankInfo::getPartialMappingIdx(), getRegClassFromGRPhysReg(), llvm::TargetRegisterInfo::getRegSizeInBits(), isPreISelGenericFloatingPointOpcode(), llvm::AArch64LegalizerInfo::legalizeCustom(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::LegalizerHelper::libcall(), llvm::LegalizerHelper::lower(), llvm::AArch64CallLowering::lowerReturn(), matchPair(), llvm::LegalizeRuleSet::maxScalar(), llvm::LegalizeRuleSet::maxScalarIf(), llvm::LegalizeRuleSet::minScalar(), llvm::LegalityPredicates::narrowerThan(), llvm::LegalizerHelper::narrowScalar(), llvm::InstructionSelect::runOnMachineFunction(), selectCopy(), selectFPConvOpc(), selectMergeValues(), selectUnmergeValues(), llvm::LegalityPredicates::sizeNotPow2(), llvm::CombinerHelper::tryCombineCopy(), llvm::CombinerHelper::tryCombineExtendingLoads(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::MachineIRBuilder::validateTruncExt(), vector(), llvm::LegalizerHelper::widenScalar(), and llvm::LegalityPredicates::widerThan().

◆ isPointer()

bool llvm::LLT::isPointer ( ) const
inline

◆ isScalar()

bool llvm::LLT::isScalar ( ) const
inline

◆ isValid()

bool llvm::LLT::isValid ( ) const
inline

◆ isVector()

bool llvm::LLT::isVector ( ) const
inline

◆ operator!=()

bool llvm::LLT::operator!= ( const LLT RHS) const
inline

Definition at line 147 of file LowLevelTypeImpl.h.

◆ operator==()

bool llvm::LLT::operator== ( const LLT RHS) const
inline

Definition at line 142 of file LowLevelTypeImpl.h.

◆ pointer()

static LLT llvm::LLT::pointer ( uint16_t  AddressSpace,
unsigned  SizeInBits 
)
inlinestatic

◆ print()

void LLT::print ( raw_ostream OS) const

◆ scalar()

static LLT llvm::LLT::scalar ( unsigned  SizeInBits)
inlinestatic

◆ vector() [1/2]

static LLT llvm::LLT::vector ( uint16_t  NumElements,
unsigned  ScalarSizeInBits 
)
inlinestatic

◆ vector() [2/2]

static LLT llvm::LLT::vector ( uint16_t  NumElements,
LLT  ScalarTy 
)
inlinestatic

Get a low-level vector of some number of elements and element type.

Definition at line 66 of file LowLevelTypeImpl.h.

References assert(), getAddressSpace(), getSizeInBits(), isPointer(), and isVector().

Friends And Related Function Documentation

◆ DenseMapInfo< LLT >

friend struct DenseMapInfo< LLT >
friend

Definition at line 149 of file LowLevelTypeImpl.h.

◆ GISelInstProfileBuilder

friend class GISelInstProfileBuilder
friend

Definition at line 150 of file LowLevelTypeImpl.h.


The documentation for this class was generated from the following files: