Lines Matching refs:Root

1038     MachineInstr &Root, SmallVectorImpl<unsigned> &Patterns) const {  in getAccumulatorReassociationPatterns()  argument
1042 unsigned Opc = Root.getOpcode(); in getAccumulatorReassociationPatterns()
1047 MachineBasicBlock &MBB = *Root.getParent(); in getAccumulatorReassociationPatterns()
1049 if (!MRI.hasOneNonDBGUser(Root.getOperand(0).getReg())) in getAccumulatorReassociationPatterns()
1052 auto User = MRI.use_instr_begin(Root.getOperand(0).getReg()); in getAccumulatorReassociationPatterns()
1058 getAccumulatorChain(&Root, Chain); in getAccumulatorReassociationPatterns()
1081 MachineInstr &Root, MachineRegisterInfo &MRI, in reduceAccumulatorTree() argument
1089 unsigned ReduceOpCode = getReduceOpcodeForAccumulator(Root.getOpcode()); in reduceAccumulatorTree()
1101 MRI.getRegClass(Root.getOperand(0).getReg())); in reduceAccumulatorTree()
1109 BuildMI(MF, MIMetadata(Root), TII->get(ReduceOpCode), Dest) in reduceAccumulatorTree()
1113 MIB->setFlags(Root.getFlags()); in reduceAccumulatorTree()
1147 MachineInstr &Root, SmallVectorImpl<unsigned> &Patterns, in getMachineCombinerPatterns() argument
1150 if (isReassociationCandidate(Root, Commute)) { in getMachineCombinerPatterns()
1164 if (getAccumulatorReassociationPatterns(Root, Patterns)) in getMachineCombinerPatterns()
1187 const MachineInstr &Root, in getReassociationOpcodes() argument
1189 bool AssocCommutRoot = isAssociativeAndCommutative(Root); in getReassociationOpcodes()
1196 assert(Root.getOpcode() == Prev.getOpcode() && "Expected to be equal"); in getReassociationOpcodes()
1197 return std::make_pair(Root.getOpcode(), Root.getOpcode()); in getReassociationOpcodes()
1204 assert(areOpcodesEqualOrInverse(Root.getOpcode(), Prev.getOpcode()) && in getReassociationOpcodes()
1206 unsigned AssocCommutOpcode = Root.getOpcode(); in getReassociationOpcodes()
1207 unsigned InverseOpcode = *getInverseOpcode(Root.getOpcode()); in getReassociationOpcodes()
1291 const MachineInstr &Root, unsigned Pattern, in getReassociateOperandIndices() argument
1314 MachineInstr &Root, MachineInstr &Prev, unsigned Pattern, in reassociateOps() argument
1319 MachineFunction *MF = Root.getMF(); in reassociateOps()
1323 const TargetRegisterClass *RC = Root.getRegClassConstraint(0, TII, TRI); in reassociateOps()
1326 MachineOperand &OpB = Root.getOperand(OperandIndices[2]); in reassociateOps()
1328 MachineOperand &OpY = Root.getOperand(OperandIndices[4]); in reassociateOps()
1329 MachineOperand &OpC = Root.getOperand(0); in reassociateOps()
1354 auto [NewRootOpc, NewPrevOpc] = getReassociationOpcodes(Pattern, Root, Prev); in reassociateOps()
1430 buildMINoImplicit(*MF, MIMetadata(Root), TII->get(NewRootOpc), RegC); in reassociateOps()
1431 for (const auto &MO : Root.explicit_operands()) { in reassociateOps()
1443 MIB2.copyImplicitOps(Root); in reassociateOps()
1448 uint32_t IntersectedFlags = Root.getFlags() & Prev.getFlags(); in reassociateOps()
1459 setSpecialOperandAttr(Root, Prev, *MIB1, *MIB2); in reassociateOps()
1465 DelInstrs.push_back(&Root); in reassociateOps()
1475 if (unsigned OldRootNum = Root.peekDebugInstrNum()) in reassociateOps()
1480 MachineInstr &Root, unsigned Pattern, in genAlternativeCodeSequence() argument
1484 MachineRegisterInfo &MRI = Root.getMF()->getRegInfo(); in genAlternativeCodeSequence()
1485 MachineBasicBlock &MBB = *Root.getParent(); in genAlternativeCodeSequence()
1497 getReassociateOperandIndices(Root, Pattern, OperandIndices); in genAlternativeCodeSequence()
1499 MRI.getUniqueVRegDef(Root.getOperand(OperandIndices[0]).getReg()); in genAlternativeCodeSequence()
1502 if (Prev->getParent() != Root.getParent()) in genAlternativeCodeSequence()
1505 reassociateOps(Root, *Prev, Pattern, InsInstrs, DelInstrs, OperandIndices, in genAlternativeCodeSequence()
1511 getAccumulatorChain(&Root, ChainRegs); in genAlternativeCodeSequence()
1531 unsigned OpCode = getAccumulationStartOpcode(Root.getOpcode()); in genAlternativeCodeSequence()
1541 AccReg = Instr->getOperand(0).getReg() == Root.getOperand(0).getReg() in genAlternativeCodeSequence()
1543 MRI.getRegClass(Root.getOperand(0).getReg())) in genAlternativeCodeSequence()
1571 reduceAccumulatorTree(RegistersToReduce, InsInstrs, MF, Root, MRI, in genAlternativeCodeSequence()
1572 InstIdxForVirtReg, Root.getOperand(0).getReg()); in genAlternativeCodeSequence()