|
LLVM 22.0.0git
|
#include "Target/X86/GISel/X86LegalizerInfo.h"
Public Member Functions | |
| X86LegalizerInfo (const X86Subtarget &STI, const X86TargetMachine &TM) | |
| bool | legalizeCustom (LegalizerHelper &Helper, MachineInstr &MI, LostDebugLocObserver &LocObserver) const override |
| Called for instructions with the Custom LegalizationAction. | |
| bool | legalizeIntrinsic (LegalizerHelper &Helper, MachineInstr &MI) const override |
| Public Member Functions inherited from llvm::LegalizerInfo | |
| 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 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. | |
Definition at line 24 of file X86LegalizerInfo.h.
| X86LegalizerInfo::X86LegalizerInfo | ( | const X86Subtarget & | STI, |
| const X86TargetMachine & | TM ) |
Definition at line 32 of file X86LegalizerInfo.cpp.
References llvm::LegalizeRuleSet::clampMaxNumElements(), llvm::LegalizeRuleSet::clampMinNumElements(), llvm::LegalizeRuleSet::clampNumElements(), llvm::LegalizeRuleSet::clampScalar(), llvm::LegacyLegalizerInfo::computeTables(), llvm::LegalizeRuleSet::customForCartesianProduct(), llvm::LegalizeRuleSet::customIf(), llvm::LLT::fixed_vector(), llvm::LegalizerInfo::getActionDefinitionsBuilder(), llvm::X86Subtarget::getInstrInfo(), llvm::LegalizerInfo::getLegacyLegalizerInfo(), llvm::LegalizeRuleSet::legalFor(), llvm::LegalizeRuleSet::legalForCartesianProduct(), llvm::LegalizeRuleSet::legalIf(), libcall, llvm::LegalizeRuleSet::libcall(), llvm::LegalizeRuleSet::lower(), llvm::LegalizeRuleSet::minScalar(), llvm::LegalityQuery::MMODescrs, llvm::LegalizeRuleSet::moreElementsToNextPow2(), llvm::LegalityQuery::Opcode, llvm::LLT::pointer(), llvm::LLT::scalar(), llvm::LegalizeRuleSet::scalarize(), scalarize(), llvm::LegalityPredicates::scalarNarrowerThan(), llvm::LegalityPredicates::scalarOrEltWiderThan(), llvm::LegalizeRuleSet::scalarSameSizeAs(), llvm::LegalityPredicates::typeInSet(), llvm::LegalityPredicates::typeIs(), llvm::LegalityPredicates::typePairInSet(), llvm::LegalityQuery::Types, verify, and llvm::LegalizeRuleSet::widenScalarToNextPow2().
|
overridevirtual |
Called for instructions with the Custom LegalizationAction.
Reimplemented from llvm::LegalizerInfo.
Definition at line 602 of file X86LegalizerInfo.cpp.
References llvm::MachineIRBuilder::getMRI(), llvm_unreachable, MI, llvm::LegalizerHelper::MIRBuilder, and MRI.
|
overridevirtual |
Reimplemented from llvm::LegalizerInfo.
Definition at line 996 of file X86LegalizerInfo.cpp.
References MI.