Lines Matching refs:Transition
4732 /// This class is used to move downward extractelement transition.
4745 /// transition.
4756 /// The transition being moved downwards.
4757 Instruction *Transition;
4762 /// Instruction that will be combined with the transition.
4765 /// \brief The instruction that represents the current end of the transition.
4767 /// of computation, we need a way to get the current end of the transition.
4770 return Transition;
4774 /// \brief Return the index of the original value in the transition.
4778 assert(isa<ExtractElementInst>(Transition) &&
4783 /// \brief Return the index of the index in the transition.
4787 assert(isa<ExtractElementInst>(Transition) &&
4792 /// \brief Get the type of the transition.
4795 /// transition is <2 x i32>.
4797 return Transition->getOperand(getTransitionOriginalValueIdx())->getType();
4802 /// Def = Transition <ty1> a to <ty2>
4806 /// Def = Transition <ty1> ToBePromoted to <ty2>
4812 Value *ValIdx = Transition->getOperand(getTransitionOriginalValueIdx());
4830 // The scalar chain of computation has to pay for the transition
4834 TTI.getVectorInstrCost(Transition->getOpcode(), PromotedType, Index);
4861 /// number of elements as the transition.
4873 Value *ValExtractIdx = Transition->getOperand(getTransitionIdx());
4920 const TargetTransformInfo &TTI, Instruction *Transition,
4922 : DL(DL), TLI(TLI), TTI(TTI), Transition(Transition),
4924 assert(Transition && "Do not know how to promote null");
4934 /// by moving downward the transition through.
4941 // If the use is a division and the transition is on the rhs,
4962 /// with the transition.
4963 /// I.e., is it possible to do Use(Transition) => AnotherUse?
4971 /// \brief Set the instruction that will be combined with the transition.
5005 // Def = Transition ty1 b to ty2
5006 // Move the transition down.
5007 // 1. Replace all uses of the promoted operation by the transition.
5009 assert(ToBePromoted->getType() == Transition->getType() &&
5010 "The type of the result of the transition does not match "
5012 ToBePromoted->replaceAllUsesWith(Transition);
5023 if (Val == Transition)
5024 NewVal = Transition->getOperand(getTransitionOriginalValueIdx());
5037 Transition->removeFromParent();
5038 Transition->insertAfter(ToBePromoted);
5039 Transition->setOperand(getTransitionOriginalValueIdx(), ToBePromoted);
5053 // At this point we know that Inst is a vector to scalar transition.
5055 // - We can combine the transition with its single use
5056 // => we got rid of the transition.
5061 DEBUG(dbgs() << "Found an interesting transition: " << *Inst << '\n');
5063 // If the transition has more than one use, assume this is not going to be
5072 << ") than the transition (" << Parent->getName() << ").\n");