| /llvm-project-15.0.7/llvm/lib/Target/M68k/ |
| H A D | M68kInstrInfo.td | 577 MxOperand jOp, ComplexPattern jPat, 580 MxOperand oOp, ComplexPattern oPat, 613 ComplexPattern JPat = jPat; 616 ComplexPattern OPat = oPat; 619 ComplexPattern EPat = ePat; 622 ComplexPattern PPat = pPat; 625 ComplexPattern FPat = fPat; 628 ComplexPattern BPat = bPat; 631 ComplexPattern QPat = qPat; 634 ComplexPattern KPat = kPat; [all …]
|
| H A D | M68kInstrBits.td | 73 class MxBTST_MR<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat, 80 class MxBTST_MI<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat,
|
| /llvm-project-15.0.7/llvm/test/TableGen/ |
| H A D | GlobalISelEmitterSkippedPatterns.td | 7 def complex : Operand<i32>, ComplexPattern<i32, 2, "SelectComplexPattern", []> { 14 def complex_rr : Operand<i32>, ComplexPattern<i32, 2, "SelectComplexPatternRR", []> {
|
| H A D | dag-isel-complexpattern.td | 16 def CP32 : ComplexPattern<i32, 0, "SelectCP32">; 18 // Without using ComplexPattern's type, this pattern would be ambiguous as to
|
| H A D | DefaultOpsGlobalISel.td | 7 def SelectClamp : ComplexPattern<untyped, 2, "SelectClamp">; 8 def SelectOMod : ComplexPattern<untyped, 2, "SelectOMod">; 9 def SelectClampOMod : ComplexPattern<untyped, 3, "SelectClampOMod">; 10 def SelectSrcMods : ComplexPattern<untyped, 2, "SelectSrcMods">;
|
| H A D | self-reference.td | 63 // SystemZ backend to define a record which is a ComplexPattern and an Operand
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | SDNodeProperties.td | 32 def SDNPWantRoot : SDNodeProperty; // ComplexPattern gets the root of match 33 def SDNPWantParent : SDNodeProperty; // ComplexPattern gets the parent
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | SMEInstrFormats.td | 19 def tileslice8 : ComplexPattern<i32 , 2, "SelectSMETileSlice<4>", []>; 20 def tileslice16 : ComplexPattern<i32 , 2, "SelectSMETileSlice<3>", []>; 21 def tileslice32 : ComplexPattern<i32 , 2, "SelectSMETileSlice<2>", []>; 22 def tileslice64 : ComplexPattern<i32 , 2, "SelectSMETileSlice<1>", []>; 336 ComplexPattern addr, 337 ComplexPattern tileslice> { 482 ComplexPattern imm2tile, 483 ComplexPattern addr, 484 ComplexPattern tileslice> { 876 ComplexPattern imm2tile, [all …]
|
| H A D | SVEInstrFormats.td | 225 def SVEShiftImmL8 : ComplexPattern<i32, 1, "SelectSVEShiftImm<0, 7>", []>; 226 def SVEShiftImmL16 : ComplexPattern<i32, 1, "SelectSVEShiftImm<0, 15>", []>; 274 def sve_ext_imm_0_31 : ComplexPattern<i64, 1, "SelectEXTImm<31, 8>">; 275 def sve_ext_imm_0_63 : ComplexPattern<i64, 1, "SelectEXTImm<63, 4>">; 276 def sve_ext_imm_0_127 : ComplexPattern<i64, 1, "SelectEXTImm<127, 2>">; 277 def sve_ext_imm_0_255 : ComplexPattern<i64, 1, "SelectEXTImm<255, 1>">; 453 def SVEDup0 : ComplexPattern<vAny, 0, "SelectDupZero", []>; 454 def SVEDup0Undef : ComplexPattern<vAny, 0, "SelectDupZeroOrUndef", []>; 498 ComplexPattern cast, Instruction inst> 8574 ComplexPattern imm_b, ComplexPattern imm_h, [all …]
|
| H A D | AArch64InstrFormats.td | 394 def am_sve_fi : ComplexPattern<iPTR, 2, "SelectAddrModeFrameIndexSVE", []>; 991 ComplexPattern<Ty, 2, "SelectArithShiftedRegister", []> { 1021 ComplexPattern<Ty, 2, "SelectLogicalShiftedRegister", []> { 1080 : Operand<Ty>, ComplexPattern<Ty, 2, "SelectArithImmed", [imm]> { 1108 : Operand<Ty>, ComplexPattern<Ty, 2, "SelectNegArithImmed", [imm]> { 1171 def arith_uxtx : ComplexPattern<i64, 2, "SelectArithUXTXRegister", []>; 3394 def ro_Xindexed8 : ComplexPattern<iPTR, 4, "SelectAddrModeXRO<8>", []>; 3416 def ro_Windexed8 : ComplexPattern<iPTR, 4, "SelectAddrModeWRO<8>", []>; 3486 class ROAddrMode<ComplexPattern windex, ComplexPattern xindex, 3489 ComplexPattern Wpat = windex; [all …]
|
| /llvm-project-15.0.7/llvm/utils/TableGen/ |
| H A D | CodeGenTarget.h | 203 class ComplexPattern { 211 ComplexPattern(Record *R);
|
| H A D | DAGISelMatcherEmitter.cpp | 62 DenseMap<const ComplexPattern*, unsigned> ComplexPatternMap; 63 std::vector<const ComplexPattern*> ComplexPatterns; 145 unsigned getComplexPat(const ComplexPattern &P) { in getComplexPat() 620 const ComplexPattern &Pattern = CCPM->getPattern(); in EmitMatcher() 948 const ComplexPattern &P = *ComplexPatterns[i]; in EmitPredicateFunctions()
|
| H A D | DAGISelMatcher.h | 24 class ComplexPattern; variable 690 const ComplexPattern &Pattern; 703 CheckComplexPatMatcher(const ComplexPattern &pattern, unsigned matchnumber, in CheckComplexPatMatcher() 708 const ComplexPattern &getPattern() const { return Pattern; } in getPattern()
|
| H A D | CodeGenDAGPatterns.h | 777 const ComplexPattern * 1109 std::map<Record*, ComplexPattern, LessRecordByID> ComplexPatterns; 1155 const ComplexPattern &getComplexPattern(Record *R) const { in getComplexPattern()
|
| /llvm-project-15.0.7/llvm/docs/GlobalISel/ |
| H A D | InstructionSelect.rst | 83 ``GIComplexOperandMatcher`` and mapped to ComplexPattern with 86 The following predicates are useful for porting ComplexPattern:
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | VINTERPInstructions.td | 133 list<ComplexPattern> pat> : GCNPat < 148 ValueType dst_type, list<ComplexPattern> high_pat> {
|
| H A D | SIInstrInfo.td | 1471 def DS1Addr1Offset : ComplexPattern<iPTR, 2, "SelectDS1Addr1Offset">; 1475 def MOVRELOffset : ComplexPattern<iPTR, 2, "SelectMOVRELOffset">; 1477 def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">; 1478 def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">; 1479 def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">; 1481 def VOP3Mods_nnan : ComplexPattern<fAny, 2, "SelectVOP3Mods_NNaN">; 1483 def VOP3OMods : ComplexPattern<untyped, 3, "SelectVOP3OMods">; 1485 def VOP3PMods : ComplexPattern<untyped, 2, "SelectVOP3PMods">; 1487 def VOP3PModsDOT : ComplexPattern<untyped, 2, "SelectVOP3PModsDOT">; 1491 def VOP3OpSel : ComplexPattern<untyped, 2, "SelectVOP3OpSel">; [all …]
|
| H A D | AMDGPUGISel.td | 16 def sd_vsrc0 : ComplexPattern<i32, 1, "">; 21 def sd_vcsrc : ComplexPattern<i32, 1, "">;
|
| H A D | SMInstructions.td | 856 def SMRDImm : ComplexPattern<iPTR, 2, "SelectSMRDImm">; 857 def SMRDImm32 : ComplexPattern<iPTR, 2, "SelectSMRDImm32">; 858 def SMRDSgpr : ComplexPattern<iPTR, 2, "SelectSMRDSgpr">; 859 def SMRDSgprImm : ComplexPattern<iPTR, 3, "SelectSMRDSgprImm">; 860 def SMRDBufferImm : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm">; 861 def SMRDBufferImm32 : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm32">;
|
| /llvm-project-15.0.7/llvm/include/llvm/Target/GlobalISel/ |
| H A D | SelectionDAGCompat.td | 217 // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern. 219 class GIComplexPatternEquiv<ComplexPattern seldag> { 220 ComplexPattern SelDAGEquivalent = seldag;
|
| H A D | Target.td | 26 // Defines a matcher for complex operands. This is analogous to ComplexPattern
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVInstrInfoVVLPatterns.td | 300 def SplatPat : ComplexPattern<vAny, 1, "selectVSplat", [], [], 1>; 301 def SplatPat_simm5 : ComplexPattern<vAny, 1, "selectVSplatSimm5", [], [], 2>; 304 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1", [], [], 2>; 306 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NonZero", [], [], 2>; 312 def sew8simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<8>", []>; 313 def sew16simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<16>", []>; 314 def sew32simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<32>", []>; 315 def sew64simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<64>", []>; 350 ComplexPattern SplatPatKind, 382 !cast<ComplexPattern>(SplatPat#_#ImmType), [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMInstrThumb.td | 186 ComplexPattern<i32, 2, "SelectThumbAddrModeRR", []> { 199 ComplexPattern<i32, 2, "SelectThumbAddrModeRRSext", []> { 215 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S1", []> { 223 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S2", []> { 231 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S4", []> { 243 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S4", []> { 255 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S2", []> { 267 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S1", []> { 281 ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> { 291 def AddLikeOrOp : ComplexPattern<i32, 1, "SelectAddLikeOr", [],
|
| /llvm-project-15.0.7/llvm/lib/Target/CSKY/ |
| H A D | CSKYInstrFormatsF1.td | 220 def Mem8SL2 : Operand<iPTR>, ComplexPattern<iPTR, 2, "SelectAddrRegImm8", []> { 226 def FRRS : Operand<iPTR>, ComplexPattern<iPTR, 3, "SelectAddrRegReg", []> {
|
| /llvm-project-15.0.7/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchInstrInfo.td | 190 def BaseAddr : ComplexPattern<iPTR, 1, "SelectBaseAddr">; 597 : ComplexPattern<GRLenVT, 1, "selectShiftMaskGRLen", [], [], 0>; 598 def shiftMask32 : ComplexPattern<i64, 1, "selectShiftMask32", [], [], 0>; 600 def sexti32 : ComplexPattern<i64, 1, "selectSExti32">; 601 def zexti32 : ComplexPattern<i64, 1, "selectZExti32">;
|