Lines Matching defs:MatchInfo
193 MachineInstr *&MatchInfo) {
195 MatchInfo = MRI.getVRegDef(Src);
205 if (fnegFoldsIntoMI(*MatchInfo) &&
207 !allUsesHaveSourceMods(*MatchInfo, MRI)))
211 switch (MatchInfo->getOpcode()) {
221 return !isConstantCostlierToNegate(*MatchInfo,
222 MatchInfo->getOperand(2).getReg(), MRI);
227 return mayIgnoreSignedZero(*MatchInfo);
242 Intrinsic::ID IntrinsicID = cast<GIntrinsic>(MatchInfo)->getIntrinsicID();
251 return mayIgnoreSignedZero(*MatchInfo);
262 MachineInstr *&MatchInfo) {
298 Builder.setInstrAndDebugLoc(*MatchInfo);
300 // Negate appropriate operands so that resulting value of MatchInfo is
302 switch (MatchInfo->getOpcode()) {
305 NegateOperand(MatchInfo->getOperand(1));
306 NegateOperand(MatchInfo->getOperand(2));
309 NegateEitherOperand(MatchInfo->getOperand(1), MatchInfo->getOperand(2));
319 NegateOperand(MatchInfo->getOperand(1));
320 NegateOperand(MatchInfo->getOperand(2));
321 unsigned Opposite = inverseMinMax(MatchInfo->getOpcode());
322 replaceOpcodeWith(*MatchInfo, Opposite);
327 NegateEitherOperand(MatchInfo->getOperand(1), MatchInfo->getOperand(2));
328 NegateOperand(MatchInfo->getOperand(3));
340 NegateOperand(MatchInfo->getOperand(1));
344 Intrinsic::ID IntrinsicID = cast<GIntrinsic>(MatchInfo)->getIntrinsicID();
349 NegateOperand(MatchInfo->getOperand(2));
352 NegateEitherOperand(MatchInfo->getOperand(2), MatchInfo->getOperand(3));
355 NegateOperand(MatchInfo->getOperand(2));
356 NegateOperand(MatchInfo->getOperand(3));
357 NegateOperand(MatchInfo->getOperand(4));
360 NegateEitherOperand(MatchInfo->getOperand(2), MatchInfo->getOperand(3));
361 NegateOperand(MatchInfo->getOperand(4));
373 Register MatchInfoDst = MatchInfo->getOperand(0).getReg();
376 // MatchInfo now has negated value so use that instead of old Dst.
384 replaceRegOpWith(MRI, MatchInfo->getOperand(0), NegatedMatchInfo);
386 // MatchInfo now has negated value so use that instead of old Dst.
390 auto NextInst = ++MatchInfo->getIterator();