Lines Matching defs:TI

281 /// We have (select c, TI, FI), and we know that TI and FI have the same opcode.
282 Instruction *InstCombiner::foldSelectOpOp(SelectInst &SI, Instruction *TI,
297 if (TI->getNumOperands() == 1 && TI->isCast()) {
299 if (TI->getOperand(0)->getType() != FIOpndTy)
318 if (TI->getOpcode() != Instruction::BitCast &&
319 (!TI->hasOneUse() || !FI->hasOneUse()))
321 } else if (!TI->hasOneUse() || !FI->hasOneUse()) {
330 Builder.CreateSelect(Cond, TI->getOperand(0), FI->getOperand(0),
332 return CastInst::Create(Instruction::CastOps(TI->getOpcode()), NewSI,
333 TI->getType());
338 if (match(TI, m_FNeg(m_Value(X))) && match(FI, m_FNeg(m_Value(Y))) &&
339 (TI->hasOneUse() || FI->hasOneUse())) {
343 if (TI->getOpcode() != Instruction::FNeg)
344 return BinaryOperator::CreateFNegFMF(NewSel, cast<BinaryOperator>(TI));
352 if (TI->getNumOperands() != 2 || FI->getNumOperands() != 2 ||
353 (!isa<BinaryOperator>(TI) && !isa<GetElementPtrInst>(TI)) ||
354 !TI->hasOneUse() || !FI->hasOneUse())
360 if (TI->getOperand(0) == FI->getOperand(0)) {
361 MatchOp = TI->getOperand(0);
362 OtherOpT = TI->getOperand(1);
365 } else if (TI->getOperand(1) == FI->getOperand(1)) {
366 MatchOp = TI->getOperand(1);
367 OtherOpT = TI->getOperand(0);
370 } else if (!TI->isCommutative()) {
372 } else if (TI->getOperand(0) == FI->getOperand(1)) {
373 MatchOp = TI->getOperand(0);
374 OtherOpT = TI->getOperand(1);
377 } else if (TI->getOperand(1) == FI->getOperand(0)) {
378 MatchOp = TI->getOperand(1);
379 OtherOpT = TI->getOperand(0);
398 if (auto *BO = dyn_cast<BinaryOperator>(TI)) {
400 NewBO->copyIRFlags(TI);
404 if (auto *TGEP = dyn_cast<GetElementPtrInst>(TI)) {
1684 auto *TI = dyn_cast<Instruction>(TrueVal);
1686 if (!TI || !FI || !TI->hasOneUse() || !FI->hasOneUse())
1690 if ((TI->getOpcode() == Instruction::Sub &&
1692 (TI->getOpcode() == Instruction::FSub &&
1695 SubOp = TI;
1697 TI->getOpcode() == Instruction::Add) ||
1699 TI->getOpcode() == Instruction::FAdd)) {
1700 AddOp = TI;
1729 if (AddOp != TI)
2525 auto *TI = dyn_cast<Instruction>(TrueVal);
2527 if (TI && FI && TI->getOpcode() == FI->getOpcode())
2528 if (Instruction *IV = foldSelectOpOp(SI, TI, FI))