reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4833 (MI.getOpcode() == X86::CALL32r || MI.getOpcode() == X86::CALL64r || 4833 (MI.getOpcode() == X86::CALL32r || MI.getOpcode() == X86::CALL64r || 4834 MI.getOpcode() == X86::PUSH16r || MI.getOpcode() == X86::PUSH32r || 4834 MI.getOpcode() == X86::PUSH16r || MI.getOpcode() == X86::PUSH32r || 4835 MI.getOpcode() == X86::PUSH64r)) 4840 (hasPartialRegUpdate(MI.getOpcode(), Subtarget, /*ForLoadFold*/true) || 4841 shouldPreventUndefRegUpdateMemFold(MF, MI))) 4844 unsigned NumOps = MI.getDesc().getNumOperands(); 4846 NumOps > 1 && MI.getDesc().getOperandConstraint(1, MCOI::TIED_TO) != -1; 4850 if (MI.getOpcode() == X86::ADD32ri && 4851 MI.getOperand(2).getTargetFlags() == X86II::MO_GOT_ABSOLUTE_ADDRESS) 4859 MI.getOpcode() != X86::ADD64rr) 4866 foldMemoryOperandCustom(MF, MI, OpNum, MOs, InsertPt, Size, Align)) 4874 if (isTwoAddr && NumOps >= 2 && OpNum < 2 && MI.getOperand(0).isReg() && 4875 MI.getOperand(1).isReg() && 4876 MI.getOperand(0).getReg() == MI.getOperand(1).getReg()) { 4876 MI.getOperand(0).getReg() == MI.getOperand(1).getReg()) { 4877 I = lookupTwoAddrFoldTable(MI.getOpcode()); 4881 if (MI.getOpcode() == X86::MOV32r0) { 4882 NewMI = MakeM0Inst(*this, X86::MOV32mi, MOs, InsertPt, MI); 4888 I = lookupFoldTable(MI.getOpcode(), OpNum); 4900 const TargetRegisterClass *RC = getRegClass(MI.getDesc(), OpNum, 4912 if (MI.getOperand(0).getSubReg() || MI.getOperand(1).getSubReg()) 4912 if (MI.getOperand(0).getSubReg() || MI.getOperand(1).getSubReg()) 4920 NewMI = FuseTwoAddrInst(MF, Opcode, MOs, InsertPt, MI, *this); 4922 NewMI = FuseInst(MF, Opcode, OpNum, MOs, InsertPt, MI, *this); 4941 if (findCommutedOpIndices(MI, CommuteOpIdx1, CommuteOpIdx2)) { 4942 bool HasDef = MI.getDesc().getNumDefs(); 4943 Register Reg0 = HasDef ? MI.getOperand(0).getReg() : Register(); 4944 Register Reg1 = MI.getOperand(CommuteOpIdx1).getReg(); 4945 Register Reg2 = MI.getOperand(CommuteOpIdx2).getReg(); 4947 0 == MI.getDesc().getOperandConstraint(CommuteOpIdx1, MCOI::TIED_TO); 4949 0 == MI.getDesc().getOperandConstraint(CommuteOpIdx2, MCOI::TIED_TO); 4958 commuteInstruction(MI, false, CommuteOpIdx1, CommuteOpIdx2); 4963 if (CommutedMI != &MI) { 4970 NewMI = foldMemoryOperandImpl(MF, MI, CommuteOpIdx2, MOs, InsertPt, 4977 commuteInstruction(MI, false, CommuteOpIdx1, CommuteOpIdx2); 4982 if (UncommutedMI != &MI) { 4994 if (PrintFailedFusing && !MI.isCopy()) 4995 dbgs() << "We failed to fuse operand " << OpNum << " in " << MI;