Home
last modified time | relevance | path

Searched refs:SecondMI (Results 1 – 16 of 16) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64MacroFusion.cpp23 const MachineInstr &SecondMI, bool CmpOnly) { in isArithmeticBccPair() argument
24 if (SecondMI.getOpcode() != AArch64::Bcc) in isArithmeticBccPair()
72 const MachineInstr &SecondMI) { in isArithmeticCbzPair() argument
73 if (SecondMI.getOpcode() != AArch64::CBZW && in isArithmeticCbzPair()
74 SecondMI.getOpcode() != AArch64::CBZX && in isArithmeticCbzPair()
75 SecondMI.getOpcode() != AArch64::CBNZW && in isArithmeticCbzPair()
76 SecondMI.getOpcode() != AArch64::CBNZX) in isArithmeticCbzPair()
122 const MachineInstr &SecondMI) { in isAESPair() argument
124 switch (SecondMI.getOpcode()) { in isAESPair()
140 const MachineInstr &SecondMI) { in isCryptoEORPair() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCMacroFusion.cpp70 const MachineInstr &SecondMI, in matchingRegOps() argument
73 const MachineOperand &Op2 = SecondMI.getOperand(SecondMIOpIndex); in matchingRegOps()
93 // Return true if the FirstMI meets the constraints of SecondMI according to
97 const MachineInstr &SecondMI) { in checkOpConstraints() argument
105 const MachineOperand &RA = SecondMI.getOperand(1); in checkOpConstraints()
114 const MachineOperand &RT = SecondMI.getOperand(0); in checkOpConstraints()
122 if (!matchingRegOps(SecondMI, 0, SecondMI, 2) || in checkOpConstraints()
137 const MachineOperand &D = SecondMI.getOperand(1); in checkOpConstraints()
143 if (SecondMI in checkOpConstraints()
237 shouldScheduleAdjacent(const TargetInstrInfo & TII,const TargetSubtargetInfo & TSI,const MachineInstr * FirstMI,const MachineInstr & SecondMI) shouldScheduleAdjacent() argument
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVMacroFusion.cpp
H A DRISCVExpandPseudoInsts.cpp581 MachineInstr *SecondMI = in expandAuipcInstPair() local
587 SecondMI->addMemOperand(*MF, *MI.memoperands_begin()); in expandAuipcInstPair()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMMacroFusion.cpp23 const MachineInstr &SecondMI) { in isAESPair() argument
25 switch(SecondMI.getOpcode()) { in isAESPair()
39 const MachineInstr &SecondMI) { in isLiteralsPair() argument
42 SecondMI.getOpcode() == ARM::MOVTi16) in isLiteralsPair()
48 /// Check if the instr pair, FirstMI and SecondMI, should be fused
49 /// together. Given SecondMI, when FirstMI is unspecified, then check if
50 /// SecondMI may be part of a fused pair at all.
54 const MachineInstr &SecondMI) { in shouldScheduleAdjacent() argument
57 if (ST.hasFuseAES() && isAESPair(FirstMI, SecondMI)) in shouldScheduleAdjacent()
59 if (ST.hasFuseLiterals() && isLiteralsPair(FirstMI, SecondMI)) in shouldScheduleAdjacent()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DGCNCreateVOPD.cpp47 : FirstMI(First), SecondMI(Second), IsVOPD3(VOPD3) {} in VOPDCombineInfo()
50 MachineInstr *SecondMI; member in __anon4acca4580111::GCNCreateVOPD::VOPDCombineInfo
59 auto *SecondMI = CI.SecondMI; in doReplace() local
61 unsigned Opc2 = SecondMI->getOpcode(); in doReplace()
72 .setMIFlags(FirstMI->getFlags() | SecondMI->getFlags()); in doReplace()
75 MachineInstr *MI[] = {FirstMI, SecondMI}; in doReplace()
77 AMDGPU::getVOPDInstInfo(FirstMI->getDesc(), SecondMI->getDesc()); in doReplace()
121 << *CI.FirstMI << "\tY: " << *CI.SecondMI << "\n"); in doReplace()
152 auto *SecondMI = &*MII; in run() local
154 unsigned Opc2 = SecondMI->getOpcode(); in run()
[all …]
H A DGCNVOPDUtils.cpp39 const MachineInstr &SecondMI, bool IsVOPD3) { in checkVOPDRegConstraints() argument
47 if (!IsVOPD3 && (TII.isVOP3(FirstMI) || TII.isVOP3(SecondMI))) in checkVOPDRegConstraints()
49 if (TII.isDPP(FirstMI) || TII.isDPP(SecondMI)) in checkVOPDRegConstraints()
67 if (&*MII == &SecondMI) in checkVOPDRegConstraints()
73 for (const auto &Use : SecondMI.uses()) in checkVOPDRegConstraints()
78 const MachineInstr &MI = (OpcodeIdx == VOPD::X) ? FirstMI : SecondMI; in checkVOPDRegConstraints()
86 AMDGPU::getVOPDInstInfo(FirstMI.getDesc(), SecondMI.getDesc()); in checkVOPDRegConstraints()
89 const MachineInstr &MI = (CompIdx == VOPD::X) ? FirstMI : SecondMI; in checkVOPDRegConstraints()
157 SecondMI.getOpcode() == AMDGPU::V_MOV_B32_e32; in checkVOPDRegConstraints()
166 if (AMDGPU::hasNamedOperand(SecondMI.getOpcode(), AMDGPU::OpName::bitop3)) { in checkVOPDRegConstraints()
[all …]
H A DAMDGPUMacroFusion.cpp23 /// Check if the instr pair, FirstMI and SecondMI, should be fused
24 /// together. Given SecondMI, when FirstMI is unspecified, then check if
25 /// SecondMI may be part of a fused pair at all.
29 const MachineInstr &SecondMI) { in shouldScheduleAdjacent() argument
32 switch (SecondMI.getOpcode()) { in shouldScheduleAdjacent()
46 const MachineOperand *Src2 = TII.getNamedOperand(SecondMI, in shouldScheduleAdjacent()
H A DGCNVOPDUtils.h26 const MachineInstr &SecondMI, bool IsVOPD3);
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/
H A DTargetMacroFusion.td22 // * const MachineInstr &SecondMI
49 // `firstOpIdx` should be the same as the operand of `SecondMI` at position
67 // The operand of `SecondMI` at position `firstOpIdx` should be the same as the
98 // const MachineInstr &SecondMI) {
99 // auto &MRI = SecondMI.getMF()->getRegInfo();
117 // const MachineInstr &SecondMI) {
118 // auto &MRI = SecondMI.getMF()->getRegInfo();
120 // /* Predicate for `SecondMI` */
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86MacroFusion.cpp32 /// Check if the instr pair, FirstMI and SecondMI, should be fused
33 /// together. Given SecondMI, when FirstMI is unspecified, then check if
34 /// SecondMI may be part of a fused pair at all.
38 const MachineInstr &SecondMI) { in shouldScheduleAdjacent() argument
45 const X86::SecondMacroFusionInstKind BranchKind = classifySecond(SecondMI); in shouldScheduleAdjacent()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMacroFusion.cpp166 const MachineInstr &SecondMI);
174 const MachineInstr &SecondMI) { in shouldScheduleAdjacent() argument
176 return Predicate(TII, STI, FirstMI, SecondMI); in shouldScheduleAdjacent()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMacroFusion.h36 const MachineInstr &SecondMI);
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelperCasts.cpp233 const MachineInstr &SecondMI, in matchExtOfExt() argument
236 const GExtOp *Second = cast<GExtOp>(&SecondMI); in matchExtOfExt()
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandPseudoInsts.cpp199 MachineInstr *SecondMI = in expandPcalau12iInstPair() local
205 SecondMI->addMemOperand(*MF, *MI.memoperands_begin()); in expandPcalau12iInstPair()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DCombinerHelper.h978 bool matchExtOfExt(const MachineInstr &FirstMI, const MachineInstr &SecondMI,