Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Enumerations |Functions
llvm::RISCVII Namespace Reference

Enumerations

enum  VLMUL : uint8_t {
  LMUL_1 = 0,LMUL_2,LMUL_4,LMUL_8,
  LMUL_RESERVED,LMUL_F8,LMUL_F4,LMUL_F2
}
 
enum  {TAIL_UNDISTURBED_MASK_UNDISTURBED = 0,TAIL_AGNOSTIC = 1,MASK_AGNOSTIC = 2 }
 
enum  {
  InstFormatPseudo = 0,InstFormatR = 1,InstFormatR4 = 2,InstFormatI = 3,
  InstFormatS = 4,InstFormatB = 5,InstFormatU = 6,InstFormatJ = 7,
  InstFormatCR = 8,InstFormatCI = 9,InstFormatCSS = 10,InstFormatCIW = 11,
  InstFormatCL = 12,InstFormatCS = 13,InstFormatCA = 14,InstFormatCB = 15,
  InstFormatCJ = 16,InstFormatCU = 17,InstFormatCLB = 18,InstFormatCLH = 19,
  InstFormatCSB = 20,InstFormatCSH = 21,InstFormatOther = 22,InstFormatMask = 31,
  InstFormatShift = 0,ConstraintShift = InstFormatShift + 5,VS2Constraint = 0b001 << ConstraintShift,VS1Constraint = 0b010 << ConstraintShift,
  VMConstraint = 0b100 << ConstraintShift,ConstraintMask = 0b111 << ConstraintShift,VLMulShift = ConstraintShift + 3,VLMulMask = 0b111 << VLMulShift,
  ForceTailAgnosticShift = VLMulShift + 3,ForceTailAgnosticMask = 1 << ForceTailAgnosticShift,IsTiedPseudoShift = ForceTailAgnosticShift + 1,IsTiedPseudoMask = 1 << IsTiedPseudoShift,
  HasSEWOpShift = IsTiedPseudoShift + 1,HasSEWOpMask = 1 << HasSEWOpShift,HasVLOpShift = HasSEWOpShift + 1,HasVLOpMask = 1 << HasVLOpShift,
  HasVecPolicyOpShift = HasVLOpShift + 1,HasVecPolicyOpMask = 1 << HasVecPolicyOpShift,IsRVVWideningReductionShift = HasVecPolicyOpShift + 1,IsRVVWideningReductionMask = 1 << IsRVVWideningReductionShift,
  UsesMaskPolicyShift = IsRVVWideningReductionShift + 1,UsesMaskPolicyMask = 1 << UsesMaskPolicyShift,IsSignExtendingOpWShift = UsesMaskPolicyShift + 1,IsSignExtendingOpWMask = 1ULL << IsSignExtendingOpWShift,
  HasRoundModeOpShift = IsSignExtendingOpWShift + 1,HasRoundModeOpMask = 1 << HasRoundModeOpShift,UsesVXRMShift = HasRoundModeOpShift + 1,UsesVXRMMask = 1 << UsesVXRMShift,
  TargetOverlapConstraintTypeShift = UsesVXRMShift + 1,TargetOverlapConstraintTypeMask = 3ULL << TargetOverlapConstraintTypeShift,ElementsDependOnVLShift = TargetOverlapConstraintTypeShift + 2,ElementsDependOnVLMask = 1ULL << ElementsDependOnVLShift,
  ElementsDependOnMaskShift = ElementsDependOnVLShift + 1,ElementsDependOnMaskMask = 1ULL << ElementsDependOnMaskShift,DestEEWShift = ElementsDependOnMaskShift + 1,DestEEWMask = 3ULL << DestEEWShift
}
 
enum  {
  MO_None = 0,MO_CALL = 1,MO_LO = 3,MO_HI = 4,
  MO_PCREL_LO = 5,MO_PCREL_HI = 6,MO_GOT_HI = 7,MO_TPREL_LO = 8,
  MO_TPREL_HI = 9,MO_TPREL_ADD = 10,MO_TLS_GOT_HI = 11,MO_TLS_GD_HI = 12,
  MO_TLSDESC_HI = 13,MO_TLSDESC_LOAD_LO = 14,MO_TLSDESC_ADD_LO = 15,MO_TLSDESC_CALL = 16,
  MO_DIRECT_FLAG_MASK = 31
}
 

Functions

staticunsigned getFormat (uint64_t TSFlags)
 
staticVLMUL getLMul (uint64_t TSFlags)
 
staticbool doesForceTailAgnostic (uint64_t TSFlags)
 
staticbool isTiedPseudo (uint64_t TSFlags)
 
staticbool hasSEWOp (uint64_t TSFlags)
 
staticbool hasVLOp (uint64_t TSFlags)
 
staticbool hasVecPolicyOp (uint64_t TSFlags)
 
staticbool isRVVWideningReduction (uint64_t TSFlags)
 
staticbool usesMaskPolicy (uint64_t TSFlags)
 
staticbool hasRoundModeOp (uint64_t TSFlags)
 
staticbool usesVXRM (uint64_t TSFlags)
 
staticbool elementsDependOnVL (uint64_t TSFlags)
 
staticbool elementsDependOnMask (uint64_t TSFlags)
 
staticunsigned getVLOpNum (constMCInstrDesc &Desc)
 
staticunsigned getTailExpandUseRegNo (constFeatureBitset &FeatureBits)
 
staticunsigned getSEWOpNum (constMCInstrDesc &Desc)
 
staticunsigned getVecPolicyOpNum (constMCInstrDesc &Desc)
 
static int getFRMOpNum (constMCInstrDesc &Desc)
 
static int getVXRMOpNum (constMCInstrDesc &Desc)
 
staticbool isFirstDefTiedToFirstUse (constMCInstrDesc &Desc)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TAIL_UNDISTURBED_MASK_UNDISTURBED 
TAIL_AGNOSTIC 
MASK_AGNOSTIC 

Definition at line80 of fileRISCVTargetParser.h.

◆ anonymous enum

anonymous enum
Enumerator
InstFormatPseudo 
InstFormatR 
InstFormatR4 
InstFormatI 
InstFormatS 
InstFormatB 
InstFormatU 
InstFormatJ 
InstFormatCR 
InstFormatCI 
InstFormatCSS 
InstFormatCIW 
InstFormatCL 
InstFormatCS 
InstFormatCA 
InstFormatCB 
InstFormatCJ 
InstFormatCU 
InstFormatCLB 
InstFormatCLH 
InstFormatCSB 
InstFormatCSH 
InstFormatOther 
InstFormatMask 
InstFormatShift 
ConstraintShift 
VS2Constraint 
VS1Constraint 
VMConstraint 
ConstraintMask 
VLMulShift 
VLMulMask 
ForceTailAgnosticShift 
ForceTailAgnosticMask 
IsTiedPseudoShift 
IsTiedPseudoMask 
HasSEWOpShift 
HasSEWOpMask 
HasVLOpShift 
HasVLOpMask 
HasVecPolicyOpShift 
HasVecPolicyOpMask 
IsRVVWideningReductionShift 
IsRVVWideningReductionMask 
UsesMaskPolicyShift 
UsesMaskPolicyMask 
IsSignExtendingOpWShift 
IsSignExtendingOpWMask 
HasRoundModeOpShift 
HasRoundModeOpMask 
UsesVXRMShift 
UsesVXRMMask 
TargetOverlapConstraintTypeShift 
TargetOverlapConstraintTypeMask 
ElementsDependOnVLShift 
ElementsDependOnVLMask 
ElementsDependOnMaskShift 
ElementsDependOnMaskMask 
DestEEWShift 
DestEEWMask 

Definition at line31 of fileRISCVBaseInfo.h.

◆ anonymous enum

anonymous enum
Enumerator
MO_None 
MO_CALL 
MO_LO 
MO_HI 
MO_PCREL_LO 
MO_PCREL_HI 
MO_GOT_HI 
MO_TPREL_LO 
MO_TPREL_HI 
MO_TPREL_ADD 
MO_TLS_GOT_HI 
MO_TLS_GD_HI 
MO_TLSDESC_HI 
MO_TLSDESC_LOAD_LO 
MO_TLSDESC_ADD_LO 
MO_TLSDESC_CALL 
MO_DIRECT_FLAG_MASK 

Definition at line270 of fileRISCVBaseInfo.h.

◆ VLMUL

enumllvm::RISCVII::VLMUL :uint8_t
Enumerator
LMUL_1 
LMUL_2 
LMUL_4 
LMUL_8 
LMUL_RESERVED 
LMUL_F8 
LMUL_F4 
LMUL_F2 

Definition at line69 of fileRISCVTargetParser.h.

Function Documentation

◆ doesForceTailAgnostic()

staticbool llvm::RISCVII::doesForceTailAgnostic(uint64_t TSFlags)
inlinestatic
Returns
true if tail agnostic is enforced for the instruction.

Definition at line152 of fileRISCVBaseInfo.h.

ReferencesForceTailAgnosticMask.

◆ elementsDependOnMask()

staticbool llvm::RISCVII::elementsDependOnMask(uint64_t TSFlags)
inlinestatic
Returns
true if the elements in the body are affected by the mask, e.g. vredsum.vs/viota.m

Definition at line196 of fileRISCVBaseInfo.h.

ReferencesElementsDependOnMaskMask.

◆ elementsDependOnVL()

staticbool llvm::RISCVII::elementsDependOnVL(uint64_t TSFlags)
inlinestatic
Returns
true if the elements in the body are affected by VL, e.g. vslide1down.vx/vredsum.vs/viota.m

Definition at line190 of fileRISCVBaseInfo.h.

ReferencesElementsDependOnVLMask.

◆ getFormat()

staticunsigned llvm::RISCVII::getFormat(uint64_t TSFlags)
inlinestatic
Returns
the format of the instruction.

Definition at line144 of fileRISCVBaseInfo.h.

ReferencesInstFormatMask, andInstFormatShift.

Referenced byllvm::RISCVRegisterInfo::getFrameIndexInstrOffset(), andllvm::RISCVRegisterInfo::needsFrameBaseReg().

◆ getFRMOpNum()

static int llvm::RISCVII::getFRMOpNum(constMCInstrDescDesc)
inlinestatic
Returns
the index to the rounding mode immediate value if any, otherwise returns -1.

Definition at line233 of fileRISCVBaseInfo.h.

ReferencesgetVLOpNum(),hasRoundModeOp(), andusesVXRM().

Referenced byllvm::RISCVTargetLowering::AdjustInstrPostInstrSelection(),INITIALIZE_PASS(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ getLMul()

staticVLMUL llvm::RISCVII::getLMul(uint64_t TSFlags)
inlinestatic
Returns
the LMUL for the instruction.

Definition at line148 of fileRISCVBaseInfo.h.

ReferencesVLMulMask, andVLMulShift.

Referenced byllvm::RISCVVectorMaskDAGMutation::apply(),emitVFROUND_NOEXCEPT_MASK(), andllvm::RISCVVType::getEMULEqualsEEWDivSEWTimesLMUL().

◆ getSEWOpNum()

staticunsigned llvm::RISCVII::getSEWOpNum(constMCInstrDescDesc)
inlinestatic

Definition at line217 of fileRISCVBaseInfo.h.

Referencesassert(),hasSEWOp(),hasVecPolicyOp(), andllvm::Offset.

Referenced byllvm::RISCVInstrInfo::copyPhysRegVector(),emitVFROUND_NOEXCEPT_MASK(),llvm::RISCVInstrInfo::foldMemoryOperandImpl(),llvm::RISCVVType::getEMULEqualsEEWDivSEWTimesLMUL(),getIntegerExtensionOperandEEW(),getOperandLog2EEW(),INITIALIZE_PASS(),vectorPseudoHasAllNBitUsers(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ getTailExpandUseRegNo()

staticunsigned llvm::RISCVII::getTailExpandUseRegNo(constFeatureBitsetFeatureBits)
inlinestatic

Definition at line211 of fileRISCVBaseInfo.h.

Referenced bycannotInsertTailCall().

◆ getVecPolicyOpNum()

staticunsigned llvm::RISCVII::getVecPolicyOpNum(constMCInstrDescDesc)
inlinestatic

Definition at line226 of fileRISCVBaseInfo.h.

Referencesassert(), andhasVecPolicyOp().

Referenced byllvm::RISCVInstrInfo::convertToThreeAddress(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ getVLOpNum()

staticunsigned llvm::RISCVII::getVLOpNum(constMCInstrDescDesc)
inlinestatic

Definition at line200 of fileRISCVBaseInfo.h.

Referencesassert(),hasSEWOp(),hasVecPolicyOp(),hasVLOp(), andllvm::Offset.

Referenced byllvm::RISCVInstrInfo::copyPhysRegVector(),getFRMOpNum(),getVXRMOpNum(),vectorPseudoHasAllNBitUsers(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ getVXRMOpNum()

static int llvm::RISCVII::getVXRMOpNum(constMCInstrDescDesc)
inlinestatic
Returns
the index to the rounding mode immediate value if any, otherwise returns -1.

Definition at line248 of fileRISCVBaseInfo.h.

ReferencesgetVLOpNum(),hasRoundModeOp(), andusesVXRM().

◆ hasRoundModeOp()

staticbool llvm::RISCVII::hasRoundModeOp(uint64_t TSFlags)
inlinestatic
Returns
true if there is a rounding mode operand for this instruction

Definition at line181 of fileRISCVBaseInfo.h.

ReferencesHasRoundModeOpMask.

Referenced bygetFRMOpNum(),getVXRMOpNum(),lowerRISCVVMachineInstrToMCInst(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ hasSEWOp()

staticbool llvm::RISCVII::hasSEWOp(uint64_t TSFlags)
inlinestatic
Returns
true if there is a SEW operand for the instruction.

Definition at line160 of fileRISCVBaseInfo.h.

ReferencesHasSEWOpMask.

Referenced bygetSEWOpNum(),getVLOpNum(),isConvertibleToVMV_V_V(),lowerRISCVVMachineInstrToMCInst(),vectorPseudoHasAllNBitUsers(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ hasVecPolicyOp()

staticbool llvm::RISCVII::hasVecPolicyOp(uint64_t TSFlags)
inlinestatic
Returns
true if there is a vector policy operand for this instruction.

Definition at line168 of fileRISCVBaseInfo.h.

ReferencesHasVecPolicyOpMask.

Referenced byllvm::RISCVInstrInfo::convertToThreeAddress(),llvm::RISCVInstrInfo::findCommutedOpIndices(),getSEWOpNum(),getVecPolicyOpNum(),getVLOpNum(),lowerRISCVVMachineInstrToMCInst(),vectorPseudoHasAllNBitUsers(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ hasVLOp()

staticbool llvm::RISCVII::hasVLOp(uint64_t TSFlags)
inlinestatic
Returns
true if there is a VL operand for the instruction.

Definition at line164 of fileRISCVBaseInfo.h.

ReferencesHasVLOpMask.

Referenced bygetVLOpNum(),isConvertibleToVMV_V_V(),lowerRISCVVMachineInstrToMCInst(),vectorPseudoHasAllNBitUsers(), andllvm::RISCVInstrInfo::verifyInstruction().

◆ isFirstDefTiedToFirstUse()

staticbool llvm::RISCVII::isFirstDefTiedToFirstUse(constMCInstrDescDesc)
inlinestatic

Definition at line264 of fileRISCVBaseInfo.h.

Referencesllvm::MCOI::TIED_TO.

Referenced bygetOperandLog2EEW().

◆ isRVVWideningReduction()

staticbool llvm::RISCVII::isRVVWideningReduction(uint64_t TSFlags)
inlinestatic
Returns
true if it is a vector widening reduction instruction.

Definition at line172 of fileRISCVBaseInfo.h.

ReferencesIsRVVWideningReductionMask.

Referenced byisConvertibleToVMV_V_V().

◆ isTiedPseudo()

staticbool llvm::RISCVII::isTiedPseudo(uint64_t TSFlags)
inlinestatic
Returns
true if this a _TIED pseudo.

Definition at line156 of fileRISCVBaseInfo.h.

ReferencesIsTiedPseudoMask.

Referenced bygetOperandLog2EEW(), andlowerRISCVVMachineInstrToMCInst().

◆ usesMaskPolicy()

staticbool llvm::RISCVII::usesMaskPolicy(uint64_t TSFlags)
inlinestatic
Returns
true if mask policy is valid for the instruction.

Definition at line176 of fileRISCVBaseInfo.h.

ReferencesUsesMaskPolicyMask.

◆ usesVXRM()

staticbool llvm::RISCVII::usesVXRM(uint64_t TSFlags)
inlinestatic
Returns
true if this instruction uses vxrm

Definition at line186 of fileRISCVBaseInfo.h.

ReferencesUsesVXRMMask.

Referenced bygetFRMOpNum(),getVXRMOpNum(), andllvm::RISCVInstrInfo::verifyInstruction().


Generated on Sun Jul 20 2025 22:35:24 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp