class LegalizerHelper
Declaration
class LegalizerHelper { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:36
Member Variables
- public llvm::MachineIRBuilder& MIRBuilder
- Expose MIRBuilder so clients can set their own RecordInsertInstruction functions
Method Overview
- public LegalizerHelper(llvm::MachineFunction & MF, const llvm::LegalizerInfo & LI, llvm::GISelChangeObserver & Observer, llvm::MachineIRBuilder & B)
- public LegalizerHelper(llvm::MachineFunction & MF, llvm::GISelChangeObserver & Observer, llvm::MachineIRBuilder & B)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVector(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorBasic(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorBuildVector(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorCasts(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorCmp(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorImplicitDef(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorMultiEltType(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorPhi(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorSelect(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult fewerElementsVectorUnmergeValues(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public const llvm::LegalizerInfo & getLegalizerInfo() const
- public llvm::LegalizerHelper::LegalizeResult legalizeInstrStep(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult libcall(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lower(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerBitCount(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerBitreverse(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerBswap(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerDynStackAlloc(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerExtract(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerFCopySign(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerFMad(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerFMinNumMaxNum(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerFPTOUI(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerInsert(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerIntrinsicRound(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerMinMax(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerReadRegister(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerSADDO_SSUBO(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerSITOFP(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerShuffleVector(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerU64ToF32BitOps(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult lowerUITOFP(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult lowerUnmergeValues(llvm::MachineInstr & MI)
- public llvm::LegalizerHelper::LegalizeResult moreElementsVector(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT MoreTy)
- public llvm::LegalizerHelper::LegalizeResult moreElementsVectorPhi(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT MoreTy)
- public llvm::LegalizerHelper::LegalizeResult narrowScalar(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarBasic(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarExtract(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarInsert(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarMul(llvm::MachineInstr & MI, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarSelect(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarShift(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT Ty)
- public llvm::LegalizerHelper::LegalizeResult narrowScalarShiftByConstant(llvm::MachineInstr & MI, const llvm::APInt & Amt, llvm::LLT HalfTy, llvm::LLT ShiftAmtTy)
- public llvm::LegalizerHelper::LegalizeResult reduceLoadStoreWidth(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT NarrowTy)
- public llvm::LegalizerHelper::LegalizeResult widenScalar(llvm::MachineInstr & MI, unsigned int TypeIdx, llvm::LLT WideTy)
Methods
¶LegalizerHelper(
llvm::MachineFunction& MF,
const llvm::LegalizerInfo& LI,
llvm::GISelChangeObserver& Observer,
llvm::MachineIRBuilder& B)
LegalizerHelper(
llvm::MachineFunction& MF,
const llvm::LegalizerInfo& LI,
llvm::GISelChangeObserver& Observer,
llvm::MachineIRBuilder& B)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:53
Parameters
- llvm::MachineFunction& MF
- const llvm::LegalizerInfo& LI
- llvm::GISelChangeObserver& Observer
- llvm::MachineIRBuilder& B
¶LegalizerHelper(
llvm::MachineFunction& MF,
llvm::GISelChangeObserver& Observer,
llvm::MachineIRBuilder& B)
LegalizerHelper(
llvm::MachineFunction& MF,
llvm::GISelChangeObserver& Observer,
llvm::MachineIRBuilder& B)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:51
Parameters
- llvm::MachineFunction& MF
- llvm::GISelChangeObserver& Observer
- llvm::MachineIRBuilder& B
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVector(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVector(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Description
Legalize a vector instruction by splitting into multiple components, each acting on the same scalar type as the original but with fewer elements.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:83
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorBasic(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorBasic(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Description
Legalize a simple vector instruction where all operands are the same type by splitting into multiple components.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:179
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorBuildVector(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorBuildVector(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:206
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorCasts(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorCasts(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:188
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorCmp(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorCmp(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:192
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorImplicitDef(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorImplicitDef(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:174
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorMultiEltType(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorMultiEltType(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Description
Legalize a instruction with a vector type where each operand may have a different element type. All type indexes must have the same number of elements.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:185
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorPhi(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorPhi(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:197
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorSelect(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorSelect(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:195
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorUnmergeValues(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
fewerElementsVectorUnmergeValues(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:203
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶const llvm::LegalizerInfo& getLegalizerInfo()
const
const llvm::LegalizerInfo& getLegalizerInfo()
const
Description
Expose LegalizerInfo so the clients can re-use.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:96
¶llvm::LegalizerHelper::LegalizeResult
legalizeInstrStep(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
legalizeInstrStep(llvm::MachineInstr& MI)
Description
Replace \p MI by a sequence of legal instructions that can implement the same operation. Note that this means \p MI may be deleted, so any iterator steps should be performed before calling this function. \p Helper should be initialized to the MachineFunction containing \p MI. Considered as an opaque blob, the legal code will use and define the same registers as \p MI.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:63
Parameters
¶llvm::LegalizerHelper::LegalizeResult libcall(
llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult libcall(
llvm::MachineInstr& MI)
Description
Legalize an instruction by emiting a runtime library call instead.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:66
Parameters
¶llvm::LegalizerHelper::LegalizeResult lower(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult lower(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Description
Legalize an instruction by splitting it into simpler parts, hopefully understood by the target.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:79
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
lowerBitCount(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
lowerBitCount(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:224
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
lowerBitreverse(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerBitreverse(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:242
Parameters
¶llvm::LegalizerHelper::LegalizeResult lowerBswap(
llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult lowerBswap(
llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:241
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerDynStackAlloc(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerDynStackAlloc(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:237
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerExtract(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerExtract(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:238
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerFCopySign(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
lowerFCopySign(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:231
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult lowerFMad(
llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult lowerFMad(
llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:233
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerFMinNumMaxNum(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerFMinNumMaxNum(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:232
Parameters
¶llvm::LegalizerHelper::LegalizeResult lowerFPTOUI(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult lowerFPTOUI(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:229
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult lowerInsert(
llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult lowerInsert(
llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:239
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerIntrinsicRound(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerIntrinsicRound(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:234
Parameters
¶llvm::LegalizerHelper::LegalizeResult lowerMinMax(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult lowerMinMax(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:230
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
lowerReadRegister(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerReadRegister(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:243
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerSADDO_SSUBO(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerSADDO_SSUBO(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:240
Parameters
¶llvm::LegalizerHelper::LegalizeResult lowerSITOFP(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult lowerSITOFP(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:228
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
lowerShuffleVector(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerShuffleVector(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:236
Parameters
¶llvm::LegalizerHelper::LegalizeResult
lowerU64ToF32BitOps(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerU64ToF32BitOps(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:226
Parameters
¶llvm::LegalizerHelper::LegalizeResult lowerUITOFP(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult lowerUITOFP(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:227
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
lowerUnmergeValues(llvm::MachineInstr& MI)
llvm::LegalizerHelper::LegalizeResult
lowerUnmergeValues(llvm::MachineInstr& MI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:235
Parameters
¶llvm::LegalizerHelper::LegalizeResult
moreElementsVector(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT MoreTy)
llvm::LegalizerHelper::LegalizeResult
moreElementsVector(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT MoreTy)
Description
Legalize a vector instruction by increasing the number of vector elements involved and ignoring the added elements later.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:88
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT MoreTy
¶llvm::LegalizerHelper::LegalizeResult
moreElementsVectorPhi(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT MoreTy)
llvm::LegalizerHelper::LegalizeResult
moreElementsVectorPhi(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT MoreTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:200
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT MoreTy
¶llvm::LegalizerHelper::LegalizeResult
narrowScalar(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
narrowScalar(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Description
Legalize an instruction by reducing the width of the underlying scalar type.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:70
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarBasic(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarBasic(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:221
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarExtract(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarExtract(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:218
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarInsert(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarInsert(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:219
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarMul(llvm::MachineInstr& MI,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarMul(llvm::MachineInstr& MI,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:217
Parameters
- llvm::MachineInstr& MI
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarSelect(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarSelect(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:222
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarShift(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
llvm::LegalizerHelper::LegalizeResult
narrowScalarShift(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT Ty)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:216
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT Ty
¶llvm::LegalizerHelper::LegalizeResult
narrowScalarShiftByConstant(
llvm::MachineInstr& MI,
const llvm::APInt& Amt,
llvm::LLT HalfTy,
llvm::LLT ShiftAmtTy)
llvm::LegalizerHelper::LegalizeResult
narrowScalarShiftByConstant(
llvm::MachineInstr& MI,
const llvm::APInt& Amt,
llvm::LLT HalfTy,
llvm::LLT ShiftAmtTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:213
Parameters
- llvm::MachineInstr& MI
- const llvm::APInt& Amt
- llvm::LLT HalfTy
- llvm::LLT ShiftAmtTy
¶llvm::LegalizerHelper::LegalizeResult
reduceLoadStoreWidth(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
llvm::LegalizerHelper::LegalizeResult
reduceLoadStoreWidth(llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT NarrowTy)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:211
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT NarrowTy
¶llvm::LegalizerHelper::LegalizeResult widenScalar(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT WideTy)
llvm::LegalizerHelper::LegalizeResult widenScalar(
llvm::MachineInstr& MI,
unsigned int TypeIdx,
llvm::LLT WideTy)
Description
Legalize an instruction by performing the operation on a wider scalar type (for example a 16-bit addition can be safely performed at 32-bits precision, ignoring the unused bits).
Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h:75
Parameters
- llvm::MachineInstr& MI
- unsigned int TypeIdx
- llvm::LLT WideTy