Lines Matching refs:Root
4634 static bool getMaddPatterns(MachineInstr &Root, in getMaddPatterns() argument
4636 unsigned Opc = Root.getOpcode(); in getMaddPatterns()
4637 MachineBasicBlock &MBB = *Root.getParent(); in getMaddPatterns()
4643 int Cmp_NZCV = Root.findRegisterDefOperandIdx(AArch64::NZCV, true); in getMaddPatterns()
4647 unsigned NewOpc = convertToNonFlagSettingOpc(Root); in getMaddPatterns()
4657 if (canCombineWithMUL(MBB, Root.getOperand(Operand), Opcode, ZeroReg)) { in getMaddPatterns()
4664 if (canCombine(MBB, Root.getOperand(Operand), Opcode)) { in getMaddPatterns()
4676 assert(Root.getOperand(1).isReg() && Root.getOperand(2).isReg() && in getMaddPatterns()
4775 static bool getFMAPatterns(MachineInstr &Root, in getFMAPatterns() argument
4778 if (!isCombineInstrCandidateFP(Root)) in getFMAPatterns()
4781 MachineBasicBlock &MBB = *Root.getParent(); in getFMAPatterns()
4786 if (canCombineWithFMUL(MBB, Root.getOperand(Operand), Opcode)) { in getFMAPatterns()
4795 switch (Root.getOpcode()) { in getFMAPatterns()
4800 assert(Root.getOperand(1).isReg() && Root.getOperand(2).isReg() && in getFMAPatterns()
4807 assert(Root.getOperand(1).isReg() && Root.getOperand(2).isReg() && in getFMAPatterns()
5031 MachineInstr &Root, SmallVectorImpl<MachineCombinerPattern> &Patterns, in getMachineCombinerPatterns() argument
5034 if (getMaddPatterns(Root, Patterns)) in getMachineCombinerPatterns()
5037 if (getFMAPatterns(Root, Patterns)) in getMachineCombinerPatterns()
5040 return TargetInstrInfo::getMachineCombinerPatterns(Root, Patterns, in getMachineCombinerPatterns()
5066 const TargetInstrInfo *TII, MachineInstr &Root, in genFusedMultiply() argument
5074 MachineInstr *MUL = MRI.getUniqueVRegDef(Root.getOperand(IdxMulOpd).getReg()); in genFusedMultiply()
5075 Register ResultReg = Root.getOperand(0).getReg(); in genFusedMultiply()
5088 SrcReg2 = Root.getOperand(IdxOtherOpd).getReg(); in genFusedMultiply()
5089 Src2IsKill = Root.getOperand(IdxOtherOpd).isKill(); in genFusedMultiply()
5103 MIB = BuildMI(MF, Root.getDebugLoc(), TII->get(MaddOpc), ResultReg) in genFusedMultiply()
5108 MIB = BuildMI(MF, Root.getDebugLoc(), TII->get(MaddOpc), ResultReg) in genFusedMultiply()
5114 MIB = BuildMI(MF, Root.getDebugLoc(), TII->get(MaddOpc), ResultReg) in genFusedMultiply()
5131 MachineInstr &Root, SmallVectorImpl<MachineInstr *> &InsInstrs, in genFusedMultiplyAcc() argument
5133 return genFusedMultiply(MF, MRI, TII, Root, InsInstrs, IdxMulOpd, MaddOpc, RC, in genFusedMultiplyAcc()
5140 const TargetInstrInfo *TII, MachineInstr &Root, in genNeg() argument
5146 BuildMI(MF, Root.getDebugLoc(), TII->get(MnegOpc), NewVR) in genNeg()
5147 .add(Root.getOperand(2)); in genNeg()
5160 MachineInstr &Root, SmallVectorImpl<MachineInstr *> &InsInstrs, in genFusedMultiplyAccNeg() argument
5166 genNeg(MF, MRI, TII, Root, InsInstrs, InstrIdxForVirtReg, MnegOpc, RC); in genFusedMultiplyAccNeg()
5167 return genFusedMultiply(MF, MRI, TII, Root, InsInstrs, IdxMulOpd, MaddOpc, RC, in genFusedMultiplyAccNeg()
5177 MachineInstr &Root, SmallVectorImpl<MachineInstr *> &InsInstrs, in genFusedMultiplyIdx() argument
5179 return genFusedMultiply(MF, MRI, TII, Root, InsInstrs, IdxMulOpd, MaddOpc, RC, in genFusedMultiplyIdx()
5187 MachineInstr &Root, SmallVectorImpl<MachineInstr *> &InsInstrs, in genFusedMultiplyIdxNeg() argument
5193 genNeg(MF, MRI, TII, Root, InsInstrs, InstrIdxForVirtReg, MnegOpc, RC); in genFusedMultiplyIdxNeg()
5195 return genFusedMultiply(MF, MRI, TII, Root, InsInstrs, IdxMulOpd, MaddOpc, RC, in genFusedMultiplyIdxNeg()
5219 const TargetInstrInfo *TII, MachineInstr &Root, in genMaddR() argument
5225 MachineInstr *MUL = MRI.getUniqueVRegDef(Root.getOperand(IdxMulOpd).getReg()); in genMaddR()
5226 Register ResultReg = Root.getOperand(0).getReg(); in genMaddR()
5242 BuildMI(MF, Root.getDebugLoc(), TII->get(MaddOpc), ResultReg) in genMaddR()
5255 MachineInstr &Root, MachineCombinerPattern Pattern, in genAlternativeCodeSequence() argument
5259 MachineBasicBlock &MBB = *Root.getParent(); in genAlternativeCodeSequence()
5270 TargetInstrInfo::genAlternativeCodeSequence(Root, Pattern, InsInstrs, in genAlternativeCodeSequence()
5286 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5301 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5328 uint64_t Imm = Root.getOperand(2).getImm(); in genAlternativeCodeSequence()
5330 if (Root.getOperand(3).isImm()) { in genAlternativeCodeSequence()
5331 unsigned Val = Root.getOperand(3).getImm(); in genAlternativeCodeSequence()
5338 BuildMI(MF, Root.getDebugLoc(), TII->get(OrrOpc), NewVR) in genAlternativeCodeSequence()
5343 MUL = genMaddR(MF, MRI, TII, Root, InsInstrs, 1, Opc, NewVR, RC); in genAlternativeCodeSequence()
5372 BuildMI(MF, Root.getDebugLoc(), TII->get(SubOpc), NewVR) in genAlternativeCodeSequence()
5374 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
5377 MUL = genMaddR(MF, MRI, TII, Root, InsInstrs, 1, Opc, NewVR, RC); in genAlternativeCodeSequence()
5393 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5420 uint64_t Imm = Root.getOperand(2).getImm(); in genAlternativeCodeSequence()
5421 if (Root.getOperand(3).isImm()) { in genAlternativeCodeSequence()
5422 unsigned Val = Root.getOperand(3).getImm(); in genAlternativeCodeSequence()
5429 BuildMI(MF, Root.getDebugLoc(), TII->get(OrrOpc), NewVR) in genAlternativeCodeSequence()
5434 MUL = genMaddR(MF, MRI, TII, Root, InsInstrs, 1, Opc, NewVR, RC); in genAlternativeCodeSequence()
5442 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5447 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5452 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5457 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5462 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5467 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5472 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5477 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5482 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5487 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5492 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5497 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5503 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5510 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5515 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5522 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5527 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5534 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5539 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5546 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5551 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5558 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5563 MUL = genFusedMultiplyAccNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5570 MUL = genFusedMultiplyAcc(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5576 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5581 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5586 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5591 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5596 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5601 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5606 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5611 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5617 MUL = genFusedMultiplyIdxNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5624 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5629 MUL = genFusedMultiplyIdxNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5636 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5641 MUL = genFusedMultiplyIdxNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5648 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5653 MUL = genFusedMultiplyIdxNeg(MF, MRI, TII, Root, InsInstrs, in genAlternativeCodeSequence()
5660 MUL = genFusedMultiplyIdx(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5667 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5672 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5677 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5683 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5688 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5693 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5699 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5705 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5712 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5718 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5725 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5731 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5737 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5743 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5752 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5756 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5765 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5769 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5777 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5783 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5789 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5795 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5804 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5808 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5817 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5821 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5831 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5835 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5845 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5849 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5857 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5862 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5867 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5873 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5878 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5883 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC); in genAlternativeCodeSequence()
5889 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5894 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5899 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC); in genAlternativeCodeSequence()
5905 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5912 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5921 BuildMI(MF, Root.getDebugLoc(), TII->get(AArch64::FNEGv4f16), NewVR) in genAlternativeCodeSequence()
5922 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
5927 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5931 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5939 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5945 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5954 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5958 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5968 BuildMI(MF, Root.getDebugLoc(), TII->get(AArch64::FNEGv8f16), NewVR) in genAlternativeCodeSequence()
5969 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
5974 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5978 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
5986 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
5992 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
6001 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
6005 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
6015 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
6019 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 2, Opc, RC, in genAlternativeCodeSequence()
6028 BuildMI(MF, Root.getDebugLoc(), TII->get(AArch64::FNEGv2f32), NewVR) in genAlternativeCodeSequence()
6029 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
6034 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6038 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6048 BuildMI(MF, Root.getDebugLoc(), TII->get(AArch64::FNEGv4f32), NewVR) in genAlternativeCodeSequence()
6049 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
6054 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6058 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6068 BuildMI(MF, Root.getDebugLoc(), TII->get(AArch64::FNEGv2f64), NewVR) in genAlternativeCodeSequence()
6069 .add(Root.getOperand(2)); in genAlternativeCodeSequence()
6074 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6078 MUL = genFusedMultiply(MF, MRI, TII, Root, InsInstrs, 1, Opc, RC, in genAlternativeCodeSequence()
6089 DelInstrs.push_back(&Root); in genAlternativeCodeSequence()