| /freebsd-13.1/contrib/llvm-project/llvm/tools/llvm-mca/Views/ |
| H A D | ResourcePressureView.cpp | 29 const MCProcResourceDesc &ProcResource = *SM.getProcResource(I); in ResourcePressureView() local 30 unsigned NumUnits = ProcResource.NumUnits; in ResourcePressureView() 32 if (ProcResource.SubUnitsIdxBegin || !NumUnits) in ResourcePressureView() 36 R2VIndex += ProcResource.NumUnits; in ResourcePressureView() 73 const MCProcResourceDesc &ProcResource = *SM.getProcResource(I); in printColumnNames() local 74 unsigned NumUnits = ProcResource.NumUnits; in printColumnNames() 76 if (ProcResource.SubUnitsIdxBegin || !NumUnits) in printColumnNames() 112 const MCProcResourceDesc &ProcResource = *SM.getProcResource(I); in printResourcePressurePerIter() local 113 unsigned NumUnits = ProcResource.NumUnits; in printResourcePressurePerIter() 115 if (ProcResource.SubUnitsIdxBegin || !NumUnits) in printResourcePressurePerIter() [all …]
|
| H A D | SchedulerStatistics.cpp | 141 const MCProcResourceDesc &ProcResource = *SM.getProcResource(I); in printSchedulerUsage() local 142 if (ProcResource.BufferSize <= 0) in printSchedulerUsage() 147 double AlmostFullThreshold = (double)(ProcResource.BufferSize * 4) / 5; in printSchedulerUsage() 151 FOS << ProcResource.Name; in printSchedulerUsage() 160 BU.MaxUsedSlots == static_cast<unsigned>(ProcResource.BufferSize)) in printSchedulerUsage() 166 FOS << ProcResource.BufferSize << '\n'; in printSchedulerUsage()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64SchedFalkor.td | 38 def FalkorUnitB : ProcResource<1>; // Branch 39 def FalkorUnitLD : ProcResource<1>; // Load pipe 40 def FalkorUnitSD : ProcResource<1>; // Store data 41 def FalkorUnitST : ProcResource<1>; // Store pipe 43 def FalkorUnitY : ProcResource<1>; // Simple arithmetic 44 def FalkorUnitZ : ProcResource<1>; // Simple arithmetic 46 def FalkorUnitVSD : ProcResource<1>; // Vector store data 47 def FalkorUnitVX : ProcResource<1>; // Vector X-pipe 48 def FalkorUnitVY : ProcResource<1>; // Vector Y-pipe 50 def FalkorUnitGTOV : ProcResource<1>; // Scalar to Vector [all …]
|
| H A D | AArch64SchedExynosM5.td | 37 def M5UnitA : ProcResource<2>; // Simple integer 43 def M5UnitF : ProcResource<2>; // CRC (inside C) 44 def M5UnitB : ProcResource<1>; // Branch 45 def M5UnitL0 : ProcResource<1>; // Load 46 def M5UnitS0 : ProcResource<1>; // Store 47 def M5PipeLS : ProcResource<1>; // Load/Store 49 def M5UnitL1 : ProcResource<1>; 50 def M5UnitS1 : ProcResource<1>; 52 def M5PipeF0 : ProcResource<1>; // FP #0 65 def M5PipeF1 : ProcResource<1>; // FP #1 [all …]
|
| H A D | AArch64SchedExynosM3.td | 38 def M3UnitA : ProcResource<2>; // Simple integer 41 def M3UnitB : ProcResource<2>; // Branch 42 def M3UnitL : ProcResource<2>; // Load 43 def M3UnitS : ProcResource<1>; // Store 44 def M3PipeF0 : ProcResource<1>; // FP #0 47 def M3UnitFADD0 : ProcResource<1>; // Simple FP 55 def M3PipeF1 : ProcResource<1>; // FP #1 58 def M3UnitFADD1 : ProcResource<1>; // Simple FP 61 def M3UnitFST0 : ProcResource<1>; // FP store 68 def M3PipeF2 : ProcResource<1>; // FP #2 [all …]
|
| H A D | AArch64SchedExynosM4.td | 37 def M4UnitA : ProcResource<2>; // Simple integer 43 def M4UnitB : ProcResource<2>; // Branch 44 def M4UnitL0 : ProcResource<1>; // Load 45 def M4UnitS0 : ProcResource<1>; // Store 46 def M4PipeLS : ProcResource<1>; // Load/Store 48 def M4UnitL1 : ProcResource<1>; 49 def M4UnitS1 : ProcResource<1>; 51 def M4PipeF0 : ProcResource<1>; // FP #0 64 def M4PipeF1 : ProcResource<1>; // FP #1 70 def M4UnitFST0 : ProcResource<1>; // FP store [all …]
|
| H A D | AArch64SchedKryo.td | 41 def KryoUnitXA : ProcResource<1>; // Type X(A) micro-ops 42 def KryoUnitXB : ProcResource<1>; // Type X(B) micro-ops 43 def KryoUnitYA : ProcResource<1>; // Type Y(A) micro-ops 44 def KryoUnitYB : ProcResource<1>; // Type Y(B) micro-ops 53 def KryoUnitLSA : ProcResource<1>; // Type LS(A) micro-ops 54 def KryoUnitLSB : ProcResource<1>; // Type LS(B) micro-ops
|
| H A D | AArch64SchedA55.td | 38 // Modeling each pipeline as a ProcResource using the BufferSize = 0 since the 41 def CortexA55UnitALU : ProcResource<2> { let BufferSize = 0; } // Int ALU 42 def CortexA55UnitMAC : ProcResource<1> { let BufferSize = 0; } // Int MAC, 64-bi wide 43 def CortexA55UnitDiv : ProcResource<1> { let BufferSize = 0; } // Int Division, not pipelined 44 def CortexA55UnitLd : ProcResource<1> { let BufferSize = 0; } // Load pipe 45 def CortexA55UnitSt : ProcResource<1> { let BufferSize = 0; } // Store pipe 46 def CortexA55UnitB : ProcResource<1> { let BufferSize = 0; } // Branch 51 def CortexA55UnitFPALU : ProcResource<2> { let BufferSize = 0; } // FP ALU 52 def CortexA55UnitFPMAC : ProcResource<2> { let BufferSize = 0; } // FP MAC 53 def CortexA55UnitFPDIV : ProcResource<1> { let BufferSize = 0; } // FP Div/SQRT, 64/128
|
| H A D | AArch64SchedA53.td | 38 // Modeling each pipeline as a ProcResource using the BufferSize = 0 since 41 def A53UnitALU : ProcResource<2> { let BufferSize = 0; } // Int ALU 42 def A53UnitMAC : ProcResource<1> { let BufferSize = 0; } // Int MAC 43 def A53UnitDiv : ProcResource<1> { let BufferSize = 0; } // Int Division 44 def A53UnitLdSt : ProcResource<1> { let BufferSize = 0; } // Load/Store 45 def A53UnitB : ProcResource<1> { let BufferSize = 0; } // Branch 46 def A53UnitFPALU : ProcResource<1> { let BufferSize = 0; } // FP ALU 47 def A53UnitFPMDS : ProcResource<1> { let BufferSize = 0; } // FP Mult/Div/Sqrt
|
| H A D | AArch64SchedThunderX.td | 36 def THXT8XUnitALU : ProcResource<2> { let BufferSize = 0; } // Int ALU 37 def THXT8XUnitMAC : ProcResource<1> { let BufferSize = 0; } // Int MAC 38 def THXT8XUnitDiv : ProcResource<1> { let BufferSize = 0; } // Int Division 39 def THXT8XUnitLdSt : ProcResource<1> { let BufferSize = 0; } // Load/Store 40 def THXT8XUnitBr : ProcResource<1> { let BufferSize = 0; } // Branch 41 def THXT8XUnitFPALU : ProcResource<1> { let BufferSize = 0; } // FP ALU 42 def THXT8XUnitFPMDS : ProcResource<1> { let BufferSize = 0; } // FP Mul/Div/Sqrt
|
| H A D | AArch64SchedCyclone.td | 30 def CyUnitI : ProcResource<4> { 35 def CyUnitB : ProcResource<2> { 41 def CyUnitBR : ProcResource<1> { 47 def CyUnitIS : ProcResource<2> { 53 def CyUnitIM : ProcResource<1> { 59 def CyUnitID : ProcResource<1> { 69 def CyUnitLS : ProcResource<2> { 74 def CyUnitV : ProcResource<3> { 78 def CyUnitVM : ProcResource<2> { 83 def CyUnitVD : ProcResource<1> { [all …]
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCScheduleP9.td | 90 def ALU : ProcResource<4>; 91 def ALUE : ProcResource<2> { 101 def DIV : ProcResource<2>; 104 def DP : ProcResource<4>; 105 def DPE : ProcResource<2> { 109 def DPO : ProcResource<2> { 115 def LS : ProcResource<4>; 118 def PM : ProcResource<2>; 121 def DFU : ProcResource<1>; 124 def BR : ProcResource<1> { [all …]
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/MCA/Stages/ |
| H A D | InstructionTables.cpp | 34 const MCProcResourceDesc &ProcResource = *SM.getProcResource(Index); in execute() local 35 unsigned NumUnits = ProcResource.NumUnits; in execute() 36 if (!ProcResource.SubUnitsIdxBegin) { in execute() 50 unsigned SubUnitIdx = ProcResource.SubUnitsIdxBegin[I1]; in execute()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVSchedRocket.td | 25 // Modeling each pipeline as a ProcResource using the BufferSize = 0 since 29 def RocketUnitALU : ProcResource<1>; // Int ALU 30 def RocketUnitIMul : ProcResource<1>; // Int Multiply 31 def RocketUnitMem : ProcResource<1>; // Load/Store 32 def RocketUnitB : ProcResource<1>; // Branch 34 def RocketUnitFPALU : ProcResource<1>; // FP ALU 38 def RocketUnitIDiv : ProcResource<1>; // Int Division 39 def RocketUnitFPDivSqrt : ProcResource<1>; // FP Divide/Sqrt
|
| H A D | RISCVSchedSiFive7.td | 27 def SiFive7PipeA : ProcResource<1>; 28 def SiFive7PipeB : ProcResource<1>; 32 def SiFive7IDiv : ProcResource<1> { let Super = SiFive7PipeB; } // Int Division 33 def SiFive7FDiv : ProcResource<1> { let Super = SiFive7PipeB; } // FP Division/Sqrt
|
| /freebsd-13.1/contrib/llvm-project/llvm/tools/llvm-mca/ |
| H A D | PipelinePrinter.cpp | 87 const MCProcResourceDesc &ProcResource = *SM.getProcResource(I); in getJSONTargetInfo() local 88 unsigned NumUnits = ProcResource.NumUnits; in getJSONTargetInfo() 89 if (ProcResource.SubUnitsIdxBegin || !NumUnits) in getJSONTargetInfo() 93 std::string ResourceName = ProcResource.Name; in getJSONTargetInfo()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | SISchedule.td | 92 def HWBranch : ProcResource<1> { 95 def HWExport : ProcResource<1> { 98 def HWLGKM : ProcResource<1> { 101 def HWSALU : ProcResource<1> { 104 def HWVMEM : ProcResource<1> { 107 def HWVALU : ProcResource<1> { 110 def HWTransVALU : ProcResource<1> { // Transcendental VALU 113 def HWRC : ProcResource<1> { // Register destination cache 116 def HWXDL : ProcResource<1> { // MFMA CU
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Target/ |
| H A D | TargetPfmCounters.td | 21 // Issue counters can be tied to a ProcResource 24 // The name of the ProcResource on which uops are issued. This is used by 27 // ProcResource.
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMScheduleM7.td | 38 def M7UnitLoadL : ProcResource<1> { let BufferSize = 0; } 39 def M7UnitLoadH : ProcResource<1> { let BufferSize = 0; } 41 def M7UnitStore : ProcResource<1> { let BufferSize = 0; } 42 def M7UnitALU : ProcResource<2>; 43 def M7UnitShift1 : ProcResource<1> { let BufferSize = 0; } 44 def M7UnitShift2 : ProcResource<1> { let BufferSize = 0; } 45 def M7UnitMAC : ProcResource<1> { let BufferSize = 0; } 46 def M7UnitBranch : ProcResource<1> { let BufferSize = 0; } 47 def M7UnitVFP : ProcResource<1> { let BufferSize = 0; } 48 def M7UnitVPortL : ProcResource<1> { let BufferSize = 0; } [all …]
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | MipsScheduleP5600.td | 32 def P5600ALQ : ProcResource<1> { let BufferSize = 16; } 33 def P5600IssueALU : ProcResource<1> { let Super = P5600ALQ; } 47 def P5600AGQ : ProcResource<3> { let BufferSize = 16; } 48 def P5600IssueAL2 : ProcResource<1> { let Super = P5600AGQ; } 49 def P5600IssueCTISTD : ProcResource<1> { let Super = P5600AGQ; } 50 def P5600IssueLDST : ProcResource<1> { let Super = P5600AGQ; } 52 def P5600AL2Div : ProcResource<1>; 54 def P5600CTISTD : ProcResource<1>; 231 def P5600FPQ : ProcResource<3> { let BufferSize = 16; } 236 def P5600FPUDivSqrt : ProcResource<2>; [all …]
|
| H A D | MipsScheduleGeneric.td | 39 def GenericALU : ProcResource<1> { let BufferSize = 1; } 40 def GenericIssueALU : ProcResource<1> { let Super = GenericALU; } 139 def GenericMDU : ProcResource<1> { let BufferSize = 1; } 140 def GenericIssueMDU : ProcResource<1> { let Super = GenericALU; } 141 def GenericIssueDIV : ProcResource<1> { let Super = GenericMDU; } 276 def GenericLDST : ProcResource<1> { let BufferSize = 1; } 434 def GenericCOP0 : ProcResource<1> { let BufferSize = 1; } 496 def GenericCOP2 : ProcResource<1> { let BufferSize = 1; } 736 def GenericFPQ : ProcResource<1> { let BufferSize = 1; } 1033 def GenericDSP : ProcResource<1> { let BufferSize = 1; } [all …]
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Lanai/ |
| H A D | LanaiSchedule.td | 54 def ALU : ProcResource<1> { let BufferSize = 0; } 55 def LdSt : ProcResource<1> { let BufferSize = 0; }
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ScheduleBdVer2.td | 50 def PdEX0 : ProcResource<1>; // ALU, Integer Pipe0 63 def PdFPU0 : ProcResource<1>; // Vector/FPU Pipe0 64 def PdFPU1 : ProcResource<1>; // Vector/FPU Pipe1 65 def PdFPU2 : ProcResource<1>; // Vector/FPU Pipe2 66 def PdFPU3 : ProcResource<1>; // Vector/FPU Pipe3 133 def PdLoad : ProcResource<2> { 141 def PdStore : ProcResource<1> { 166 def PdFPMMA : ProcResource<1>; // PdFPU0 169 def PdFPCVT : ProcResource<1>; // PdFPU0 172 def PdFPXBR : ProcResource<1>; // PdFPU1 [all …]
|
| H A D | X86ScheduleSLM.td | 34 def SLM_IEC_RSV0 : ProcResource<1>; 35 def SLM_IEC_RSV1 : ProcResource<1>; 36 def SLM_FPC_RSV0 : ProcResource<1> { let BufferSize = 1; } 37 def SLM_FPC_RSV1 : ProcResource<1> { let BufferSize = 1; } 38 def SLM_MEC_RSV : ProcResource<1>; 44 def SLMDivider : ProcResource<1>; 45 def SLMFPMultiplier : ProcResource<1>; 46 def SLMFPDivider : ProcResource<1>;
|
| H A D | X86ScheduleBtVer2.td | 35 def JLAGU : ProcResource<1>; // Integer Pipe2: LAGU 37 def JFPU0 : ProcResource<1>; // Vector/FPU Pipe0: VALU0/VIMUL/FPA 38 def JFPU1 : ProcResource<1>; // Vector/FPU Pipe1: VALU1/STC/FPM 88 def JDiv : ProcResource<1>; // integer division 89 def JMul : ProcResource<1>; // integer multiplication 90 def JVALU0 : ProcResource<1>; // vector integer 91 def JVALU1 : ProcResource<1>; // vector integer 92 def JVIMUL : ProcResource<1>; // vector integer multiplication 93 def JSTC : ProcResource<1>; // vector store/convert 94 def JFPM : ProcResource<1>; // FP multiplication [all …]
|