| /openbsd-src/gnu/llvm/llvm/lib/Target/M68k/ |
| H A D | M68kInstrInfo.td | 469 def MxCP_ARI : ComplexPattern<iPTR, 1, "SelectARI", 472 def MxCP_ARIPI : ComplexPattern<iPTR, 1, "SelectARIPI", 475 def MxCP_ARIPD : ComplexPattern<iPTR, 1, "SelectARIPD", 478 def MxCP_ARID : ComplexPattern<iPTR, 2, "SelectARID", 482 def MxCP_ARII : ComplexPattern<iPTR, 3, "SelectARII", 486 def MxCP_AL : ComplexPattern<iPTR, 1, "SelectAL", 490 def MxCP_PCD : ComplexPattern<iPTR, 1, "SelectPCD", 494 def MxCP_PCI : ComplexPattern<iPTR, 2, "SelectPCI", 577 MxOperand jOp, ComplexPattern jPat, 580 MxOperand oOp, ComplexPattern oPat, [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,
|
| /openbsd-src/gnu/llvm/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
|
| /openbsd-src/gnu/llvm/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()
|
| H A D | DAGISelMatcherGen.cpp | 567 if (const ComplexPattern *CP = in EmitMatcherCode() 608 const ComplexPattern &CP = *N->getComplexPatternInfo(CGP); in EmitMatcherCode()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/Xtensa/ |
| H A D | XtensaOperands.td | 163 def addr_ish1 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH1", [frameindex]>; 164 def addr_ish2 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH2", [frameindex]>; 165 def addr_ish4 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH4", [frameindex]>;
|
| /openbsd-src/gnu/llvm/llvm/docs/GlobalISel/ |
| H A D | InstructionSelect.rst | 83 ``GIComplexOperandMatcher`` and mapped to ComplexPattern with 86 The following predicates are useful for porting ComplexPattern:
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | VINTERPInstructions.td | 141 list<ComplexPattern> pat> : GCNPat < 156 ValueType dst_type, list<ComplexPattern> high_pat> {
|
| H A D | SIInstrInfo.td | 1502 def DS1Addr1Offset : ComplexPattern<iPTR, 2, "SelectDS1Addr1Offset">; 1503 def DS64Bit4ByteAligned : ComplexPattern<iPTR, 3, "SelectDS64Bit4ByteAligned">; 1504 def DS128Bit8ByteAligned : ComplexPattern<iPTR, 3, "SelectDS128Bit8ByteAligned">; 1506 def MOVRELOffset : ComplexPattern<iPTR, 2, "SelectMOVRELOffset">; 1508 def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">; 1509 def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">; 1510 def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">; 1512 def VOP3OMods : ComplexPattern<untyped, 3, "SelectVOP3OMods">; 1514 def VOP3PMods : ComplexPattern<untyped, 2, "SelectVOP3PMods">; 1516 def VOP3PModsDOT : ComplexPattern<untyped, 2, "SelectVOP3PModsDOT">; [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 | 831 def SMRDImm : ComplexPattern<iPTR, 2, "SelectSMRDImm">; 832 def SMRDImm32 : ComplexPattern<iPTR, 2, "SelectSMRDImm32">; 833 def SMRDSgpr : ComplexPattern<iPTR, 2, "SelectSMRDSgpr">; 834 def SMRDSgprImm : ComplexPattern<iPTR, 3, "SelectSMRDSgprImm">; 835 def SMRDBufferImm : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm">; 836 def SMRDBufferImm32 : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm32">; 837 def SMRDBufferSgprImm : ComplexPattern<iPTR, 2, "SelectSMRDBufferSgprImm">;
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Target/GlobalISel/ |
| H A D | SelectionDAGCompat.td | 221 // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern. 223 class GIComplexPatternEquiv<ComplexPattern seldag> { 224 ComplexPattern SelDAGEquivalent = seldag;
|
| H A D | Target.td | 26 // Defines a matcher for complex operands. This is analogous to ComplexPattern
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/ |
| H A D | RISCVInstrInfoZb.td | 256 def sh1add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<1>", [], [], 6>; 257 def sh2add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<2>", [], [], 6>; 258 def sh3add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<3>", [], [], 6>; 260 def sh1add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<1>", [], [], 6>; 261 def sh2add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<2>", [], [], 6>; 262 def sh3add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<3>", [], [], 6>; 686 // More complex cases use a ComplexPattern. 781 // More complex cases use a ComplexPattern.
|
| H A D | RISCVInstrInfoVVLPatterns.td | 400 def SplatPat : ComplexPattern<vAny, 1, "selectVSplat", [], [], 1>; 401 def SplatPat_simm5 : ComplexPattern<vAny, 1, "selectVSplatSimm5", [], [], 2>; 402 def SplatPat_uimm5 : ComplexPattern<vAny, 1, "selectVSplatUimm5", [], [], 2>; 404 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1", [], [], 2>; 406 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NonZero", [], [], 2>; 412 def sew8simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<8>", []>; 413 def sew16simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<16>", []>; 414 def sew32simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<32>", []>; 415 def sew64simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<64>", []>; 487 ComplexPattern SplatPatKind, [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/ |
| H A D | SMEInstrFormats.td | 13 def imm_to_tile8 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAB0>", []>; 14 def imm_to_tile16 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAH0>", []>; 15 def imm_to_tile32 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAS0>", []>; 16 def imm_to_tile64 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAD0>", []>; 17 def imm_to_tile128 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAQ0>", []>; 19 def tileslice8 : ComplexPattern<i32 , 2, "SelectSMETileSlice<15, 1>", []>; 20 def tileslice16 : ComplexPattern<i32 , 2, "SelectSMETileSlice<7, 1>", []>; 21 def tileslice32 : ComplexPattern<i32 , 2, "SelectSMETileSlice<3, 1>", []>; 22 def tileslice64 : ComplexPattern<i32 , 2, "SelectSMETileSlice<1, 1>", []>; 23 def tileslice128 : ComplexPattern<i32 , 2, "SelectSMETileSlice<0, 1>", []>; // nop [all …]
|
| H A D | SVEInstrFormats.td | 213 def SVEAddSubImm8Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i8>", []>; 214 def SVEAddSubImm16Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i16>", []>; 215 def SVEAddSubImm32Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i32>", []>; 216 def SVEAddSubImm64Pat : ComplexPattern<i64, 2, "SelectSVEAddSubImm<MVT::i64>", []>; 218 def SVECpyDupImm8Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i8>", []>; 219 def SVECpyDupImm16Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i16>", []>; 220 def SVECpyDupImm32Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i32>", []>; 221 def SVECpyDupImm64Pat : ComplexPattern<i64, 2, "SelectSVECpyDupImm<MVT::i64>", []>; 223 def SVELogicalImm8Pat : ComplexPattern<i32, 1, "SelectSVELogicalImm<MVT::i8>", []>; 224 def SVELogicalImm16Pat : ComplexPattern<i32, 1, "SelectSVELogicalImm<MVT::i16>", []>; [all …]
|
| H A D | AArch64InstrFormats.td | 126 // ComplexPattern match both extract_subvector and bitcast(extract_subvector(..)). 128 ComplexPattern<v8i8, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>; 130 ComplexPattern<v4i16, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>; 132 ComplexPattern<v2i32, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>; 134 ComplexPattern<v1i64, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>; 422 def am_sve_fi : ComplexPattern<iPTR, 2, "SelectAddrModeFrameIndexSVE", []>; 424 def am_indexed7s8 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S8", []>; 425 def am_indexed7s16 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S16", []>; 426 def am_indexed7s32 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S32", []>; 427 def am_indexed7s64 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S64", []>; [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyInstrMemory.td | 33 def AddrOps32 : ComplexPattern<i32, 2, "SelectAddrOperands32">; 34 def AddrOps64 : ComplexPattern<i64, 2, "SelectAddrOperands64">;
|
| /openbsd-src/gnu/llvm/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", [],
|
| /openbsd-src/gnu/llvm/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", []> {
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/Lanai/ |
| H A D | LanaiInstrInfo.td | 179 def ADDRrr : ComplexPattern<i32, 3, "selectAddrRr", [], []>; 180 def ADDRri : ComplexPattern<i32, 3, "selectAddrRi", [frameindex], []>; 181 def ADDRsls : ComplexPattern<i32, 1, "selectAddrSls", [frameindex], []>; 182 def ADDRspls : ComplexPattern<i32, 3, "selectAddrSpls", [frameindex], []>;
|