LLVM 17.0.0git
|
This class provides the information for the target register banks. More...
#include "Target/X86/X86LegalizerInfo.h"
Public Member Functions | |
X86LegalizerInfo (const X86Subtarget &STI, const X86TargetMachine &TM) | |
bool | legalizeIntrinsic (LegalizerHelper &Helper, MachineInstr &MI) const override |
![]() | |
virtual | ~LegalizerInfo ()=default |
const LegacyLegalizerInfo & | getLegacyLegalizerInfo () const |
LegacyLegalizerInfo & | getLegacyLegalizerInfo () |
unsigned | getOpcodeIdxForOpcode (unsigned Opcode) const |
unsigned | getActionDefinitionsIdx (unsigned Opcode) const |
void | verify (const MCInstrInfo &MII) const |
Perform simple self-diagnostic and assert if there is anything obviously wrong with the actions set up. | |
const LegalizeRuleSet & | getActionDefinitions (unsigned Opcode) const |
Get the action definitions for the given opcode. | |
LegalizeRuleSet & | getActionDefinitionsBuilder (unsigned Opcode) |
Get the action definition builder for the given opcode. | |
LegalizeRuleSet & | getActionDefinitionsBuilder (std::initializer_list< unsigned > Opcodes) |
Get the action definition builder for the given set of opcodes. | |
void | aliasActionDefinitions (unsigned OpcodeTo, unsigned OpcodeFrom) |
LegalizeActionStep | getAction (const LegalityQuery &Query) const |
Determine what action should be taken to legalize the described instruction. | |
LegalizeActionStep | getAction (const MachineInstr &MI, const MachineRegisterInfo &MRI) const |
Determine what action should be taken to legalize the given generic instruction. | |
bool | isLegal (const LegalityQuery &Query) const |
bool | isLegalOrCustom (const LegalityQuery &Query) const |
bool | isLegal (const MachineInstr &MI, const MachineRegisterInfo &MRI) const |
bool | isLegalOrCustom (const MachineInstr &MI, const MachineRegisterInfo &MRI) const |
virtual bool | legalizeCustom (LegalizerHelper &Helper, MachineInstr &MI) const |
Called for instructions with the Custom LegalizationAction. | |
virtual bool | legalizeIntrinsic (LegalizerHelper &Helper, MachineInstr &MI) const |
virtual unsigned | getExtOpcodeForWideningConstant (LLT SmallTy) const |
Return the opcode (SEXT/ZEXT/ANYEXT) that should be performed while widening a constant of type SmallTy which targets can override. | |
This class provides the information for the target register banks.
Definition at line 25 of file X86LegalizerInfo.h.
X86LegalizerInfo::X86LegalizerInfo | ( | const X86Subtarget & | STI, |
const X86TargetMachine & | TM | ||
) |
Definition at line 59 of file X86LegalizerInfo.cpp.
References llvm::LegalizeRuleSet::clampScalar(), llvm::LegalizerInfo::getActionDefinitionsBuilder(), llvm::X86Subtarget::getInstrInfo(), llvm::LegalizerInfo::getLegacyLegalizerInfo(), llvm::LegalizeRuleSet::legalFor(), llvm::LegalizeRuleSet::libcall(), libcall, llvm::LegalizeRuleSet::minScalar(), llvm::LegacyLegalizerInfo::narrowToSmallerAndWidenToSmallest(), llvm::LLT::scalar(), llvm::LegalizeRuleSet::scalarize(), verify, widen_1(), llvm::LegacyLegalizerInfo::widenToLargerTypesAndNarrowToLargest(), and llvm::LegacyLegalizerInfo::widenToLargerTypesUnsupportedOtherwise().
|
overridevirtual |
Reimplemented from llvm::LegalizerInfo.
Definition at line 139 of file X86LegalizerInfo.cpp.