LLVM 20.0.0git
|
#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGenTypes/LowLevelType.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include <algorithm>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "legalizer-info" |
Functions | |
static bool | hasNoSimpleLoops (const LegalizeRule &Rule, const LegalityQuery &Q, const std::pair< unsigned, LLT > &Mutation) |
static bool | mutationIsSane (const LegalizeRule &Rule, const LegalityQuery &Q, std::pair< unsigned, LLT > Mutation) |
static LLT | getTypeFromTypeIdx (const MachineInstr &MI, const MachineRegisterInfo &MRI, unsigned OpIdx, unsigned TypeIdx) |
Helper function to get LLT for the given type index. | |
#define DEBUG_TYPE "legalizer-info" |
Definition at line 30 of file LegalizerInfo.cpp.
|
static |
Helper function to get LLT for the given type index.
Definition at line 257 of file LegalizerInfo.cpp.
References assert(), MI, and MRI.
Referenced by llvm::LegalizerInfo::getAction().
|
static |
Definition at line 95 of file LegalizerInfo.cpp.
References llvm::LegalizeActions::Custom, llvm::LegalizeActions::FewerElements, llvm::LegalizeRule::getAction(), llvm::IRSimilarity::Legal, llvm::LegalizeActions::Libcall, llvm::Lower, llvm::LegalizeActions::MoreElements, Mutation, and llvm::LegalityQuery::Types.
Referenced by llvm::LegalizeRuleSet::apply().
|
static |
Definition at line 112 of file LegalizerInfo.cpp.
References llvm::LegalizeActions::Bitcast, llvm::LegalizeActions::Custom, llvm::LegalizeActions::FewerElements, llvm::LegalizeRule::getAction(), llvm::LLT::getElementCount(), llvm::ElementCount::getFixed(), llvm::LLT::getScalarSizeInBits(), llvm::LLT::getScalarType(), llvm::LLT::getSizeInBits(), llvm::details::FixedOrScalableQuantity< ElementCount, unsigned >::isKnownGE(), llvm::details::FixedOrScalableQuantity< ElementCount, unsigned >::isKnownLE(), llvm::LLT::isVector(), llvm::IRSimilarity::Legal, llvm::LegalizeActions::MoreElements, Mutation, llvm::LegalizeActions::NarrowScalar, llvm::LegalityQuery::Types, and llvm::LegalizeActions::WidenScalar.
Referenced by llvm::LegalizeRuleSet::apply().