LLVM: lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp File Reference (original) (raw)

This file implements the targeting of the Machinelegalizer class for RISC-V. More...

Go to the source code of this file.

Functions
static LegalityPredicate typeIsLegalIntOrFPVec (unsigned TypeIdx, std::initializer_list< LLT > IntOrFPVecTys, const RISCVSubtarget &ST)
static LegalityPredicate typeIsLegalBoolVec (unsigned TypeIdx, std::initializer_list< LLT > BoolVecTys, const RISCVSubtarget &ST)
static LegalityPredicate typeIsLegalPtrVec (unsigned TypeIdx, std::initializer_list< LLT > PtrVecTys, const RISCVSubtarget &ST)
static LLT getMaskTypeFor (LLT VecTy)
Return the type of the mask type suitable for masking the provided vector type.
static MachineInstrBuilder buildAllOnesMask (LLT VecTy, const SrcOp &VL, MachineIRBuilder &MIB, MachineRegisterInfo &MRI)
Creates an all ones mask suitable for masking a vector of type VecTy with vector length VL.
static std::pair< MachineInstrBuilder, MachineInstrBuilder > buildDefaultVLOps (LLT VecTy, MachineIRBuilder &MIB, MachineRegisterInfo &MRI)
Gets the two common "VL" operands: an all-ones mask and the vector length.
static MachineInstrBuilder buildSplatPartsS64WithVL (const DstOp &Dst, const SrcOp &Passthru, Register Lo, Register Hi, const SrcOp &VL, MachineIRBuilder &MIB, MachineRegisterInfo &MRI)
static MachineInstrBuilder buildSplatSplitS64WithVL (const DstOp &Dst, const SrcOp &Passthru, const SrcOp &Scalar, const SrcOp &VL, MachineIRBuilder &MIB, MachineRegisterInfo &MRI)
static LLT getLMUL1Ty (LLT VecTy)
static unsigned getRISCVWOpcode (unsigned Opcode)

This file implements the targeting of the Machinelegalizer class for RISC-V.

Todo

This should be generated by TableGen.

Definition in file RISCVLegalizerInfo.cpp.

buildAllOnesMask()

buildDefaultVLOps()

buildSplatPartsS64WithVL()

buildSplatSplitS64WithVL()

getLMUL1Ty()

LLT getLMUL1Ty ( LLT VecTy) static

getMaskTypeFor()

LLT getMaskTypeFor ( LLT VecTy) static

getRISCVWOpcode()

typeIsLegalBoolVec()

typeIsLegalIntOrFPVec()

typeIsLegalPtrVec()