Lines Matching refs:Transition
4817 /// This class is used to move downward extractelement transition.
4830 /// transition.
4841 /// The transition being moved downwards.
4842 Instruction *Transition;
4847 /// Instruction that will be combined with the transition.
4850 /// \brief The instruction that represents the current end of the transition.
4852 /// of computation, we need a way to get the current end of the transition.
4855 return Transition;
4859 /// \brief Return the index of the original value in the transition.
4863 assert(isa<ExtractElementInst>(Transition) &&
4868 /// \brief Return the index of the index in the transition.
4872 assert(isa<ExtractElementInst>(Transition) &&
4877 /// \brief Get the type of the transition.
4880 /// transition is <2 x i32>.
4882 return Transition->getOperand(getTransitionOriginalValueIdx())->getType();
4887 /// Def = Transition <ty1> a to <ty2>
4891 /// Def = Transition <ty1> ToBePromoted to <ty2>
4897 Value *ValIdx = Transition->getOperand(getTransitionOriginalValueIdx());
4915 // The scalar chain of computation has to pay for the transition
4919 TTI.getVectorInstrCost(Transition->getOpcode(), PromotedType, Index);
4946 /// number of elements as the transition.
4958 Value *ValExtractIdx = Transition->getOperand(getTransitionIdx());
5005 const TargetTransformInfo &TTI, Instruction *Transition,
5007 : DL(DL), TLI(TLI), TTI(TTI), Transition(Transition),
5009 assert(Transition && "Do not know how to promote null");
5019 /// by moving downward the transition through.
5026 // If the use is a division and the transition is on the rhs,
5047 /// with the transition.
5048 /// I.e., is it possible to do Use(Transition) => AnotherUse?
5056 /// \brief Set the instruction that will be combined with the transition.
5090 // Def = Transition ty1 b to ty2
5091 // Move the transition down.
5092 // 1. Replace all uses of the promoted operation by the transition.
5094 assert(ToBePromoted->getType() == Transition->getType() &&
5095 "The type of the result of the transition does not match "
5097 ToBePromoted->replaceAllUsesWith(Transition);
5108 if (Val == Transition)
5109 NewVal = Transition->getOperand(getTransitionOriginalValueIdx());
5122 Transition->removeFromParent();
5123 Transition->insertAfter(ToBePromoted);
5124 Transition->setOperand(getTransitionOriginalValueIdx(), ToBePromoted);
5138 // At this point we know that Inst is a vector to scalar transition.
5140 // - We can combine the transition with its single use
5141 // => we got rid of the transition.
5146 DEBUG(dbgs() << "Found an interesting transition: " << *Inst << '\n');
5148 // If the transition has more than one use, assume this is not going to be
5157 << ") than the transition (" << Parent->getName() << ").\n");