Lines Matching refs:DefX
196 Value *Var, Instruction *DefX,
1192 static PHINode *getRecurrenceVar(Value *VarX, Instruction *DefX,
1196 (PhiX->getOperand(0) == DefX || PhiX->getOperand(1) == DefX))
1341 /// 4) \p DefX is set to the instruction calculating Loop exit condition.
1354 /// x.next = x >> 1; // DefX
1363 Instruction *&DefX) {
1367 DefX = nullptr;
1375 DefX = dyn_cast<Instruction>(T);
1380 if (!DefX || !DefX->isShift())
1382 IntrinID = DefX->getOpcode() == Instruction::Shl ? Intrinsic::cttz :
1384 ConstantInt *Shft = dyn_cast<ConstantInt>(DefX->getOperand(1));
1387 VarX = DefX->getOperand(0);
1390 PHINode *PhiX = getRecurrenceVar(VarX, DefX, LoopEntry);
1398 if (DefX->getOpcode() == Instruction::AShr && !isKnownNonNegative(InitX, DL))
1442 Instruction *DefX = nullptr;
1450 CntInst, CntPhi, DefX))
1519 transformLoopToCountable(IntrinID, PH, CntInst, CntPhi, InitX, DefX,
1520 DefX->getDebugLoc(), ZeroCheck,
1605 /// PhiX = PHI [InitX, DefX]
1607 /// DefX = PhiX >> 1
1609 /// Br: loop if (DefX != 0)
1620 /// PhiX = PHI [InitX, DefX]
1623 /// DefX = PhiX >> 1
1632 /// If CntInst and DefX are not used in LOOP_BODY they will be removed.
1635 PHINode *CntPhi, Value *InitX, Instruction *DefX, const DebugLoc &DL,
1648 if (DefX->getOpcode() == Instruction::AShr)
1651 else if (DefX->getOpcode() == Instruction::LShr)
1654 else if (DefX->getOpcode() == Instruction::Shl) // cttz