|
LLVM 24.0.0git
|
The LegalityQuery object bundles together all the information that's needed to decide whether a given operation is legal or not. More...
#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h"
Classes | |
| struct | MemDesc |
Public Member Functions | |
| constexpr | LegalityQuery (unsigned Opcode, ArrayRef< LLT > Types, ArrayRef< MemDesc > MMODescrs={}, ArrayRef< int64_t > Immediates={}) |
| LLVM_ABI raw_ostream & | print (raw_ostream &OS) const |
Public Attributes | |
| unsigned | Opcode |
| ArrayRef< LLT > | Types |
| ArrayRef< MemDesc > | MMODescrs |
| Operations which require memory can use this to place requirements on the memory type for each MMO. | |
| ArrayRef< int64_t > | Immediates |
The LegalityQuery object bundles together all the information that's needed to decide whether a given operation is legal or not.
For efficiency, it doesn't make a copy of Types so care must be taken not to free it before using the query.
Definition at line 102 of file LegalizerInfo.h.
|
inlineconstexpr |
Definition at line 128 of file LegalizerInfo.h.
| raw_ostream & LegalityQuery::print | ( | raw_ostream & | OS | ) | const |
Definition at line 79 of file LegalizerInfo.cpp.
References Imm, Immediates, MMODescrs, Opcode, and Types.
Referenced by llvm::LegalizeRuleSet::apply().
| ArrayRef<int64_t> llvm::LegalityQuery::Immediates |
Definition at line 126 of file LegalizerInfo.h.
Referenced by print().
Operations which require memory can use this to place requirements on the memory type for each MMO.
Definition at line 124 of file LegalizerInfo.h.
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), CheckTy0Ty1MemSizeAlign(), isLoadStoreSizeLegal(), LegalityQuery(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), print(), shouldWidenLoad(), and llvm::X86LegalizerInfo::X86LegalizerInfo().
| unsigned llvm::LegalityQuery::Opcode |
Definition at line 103 of file LegalizerInfo.h.
Referenced by llvm::LegalizerInfo::getAction(), isLoadStoreSizeLegal(), LegalityQuery(), print(), and llvm::X86LegalizerInfo::X86LegalizerInfo().
Definition at line 104 of file LegalizerInfo.h.
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::alignNumElementsTo(), CheckTy0Ty1MemSizeAlign(), CheckTyN(), llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), hasNoSimpleLoops(), isLoadStoreLegal(), isLoadStoreSizeLegal(), LegalityQuery(), llvm::LegalizeRuleSet::maxScalarEltSameAsIf(), llvm::LegalizeRuleSet::maxScalarIf(), llvm::LegalizeRuleSet::maxScalarSameAs(), llvm::LegalizeRuleSet::minScalarEltSameAsIf(), llvm::LegalizeRuleSet::minScalarIf(), llvm::LegalizeRuleSet::minScalarSameAs(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), mutationIsSane(), print(), shouldWidenLoad(), llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo(), llvm::LegalizeRuleSet::widenVectorEltsToVectorMinSize(), and llvm::X86LegalizerInfo::X86LegalizerInfo().