Lines Matching full:incoming

74       SmallVectorImpl<Incoming> &Incomings) const override;
81 void constrainAsLaneMask(Incoming &In) override;
105 /// Helper class that determines the relationship between incoming values of a
106 /// phi in the control flow graph to determine where an incoming value can
111 /// - Determine all basic blocks which, starting from the incoming blocks,
114 /// - If an incoming block has no predecessors in this set, we can take the
115 /// incoming value as a scalar lane mask as-is.
117 /// - Otherwise, the incoming value needs to be merged with a previously
120 /// through an incoming block where we can take the scalar lane mask as-is,
150 void analyze(MachineBasicBlock &DefBlock, ArrayRef<Incoming> Incomings) {
161 for (auto Incoming : Incomings) {
162 MachineBasicBlock *MBB = Incoming.Block;
309 ArrayRef<Incoming> Incomings = {}) {
313 for (auto &Incoming : Incomings)
314 Dom = DT.findNearestCommonDominator(Dom, Incoming.Block);
332 ArrayRef<Incoming> Incomings) const {
337 for (auto &Incoming : Incomings)
338 if (Incoming.Block == &MBB)
545 SmallVector<Incoming, 4> Incomings;
568 // Sort the incomings such that incoming values that dominate other incoming
571 // Incoming with smaller DFSNumIn goes first, DFSNumIn is 0 for entry block.
572 llvm::sort(Incomings, [this](Incoming LHS, Incoming RHS) {
602 for (auto &Incoming : Incomings) {
603 Incoming.UpdatedReg = createLaneMaskReg(MRI, LaneMaskRegAttrs);
604 SSAUpdater.AddAvailableValue(Incoming.Block, Incoming.UpdatedReg);
607 for (auto &Incoming : Incomings) {
608 MachineBasicBlock &IMBB = *Incoming.Block;
610 IMBB, getSaluInsertionAtEnd(IMBB), {}, Incoming.UpdatedReg,
611 SSAUpdater.GetValueInMiddleOfBlock(&IMBB), Incoming.Reg);
622 for (auto &Incoming : Incomings) {
623 MachineBasicBlock &IMBB = *Incoming.Block;
625 constrainAsLaneMask(Incoming);
626 SSAUpdater.AddAvailableValue(&IMBB, Incoming.Reg);
628 Incoming.UpdatedReg = createLaneMaskReg(MRI, LaneMaskRegAttrs);
629 SSAUpdater.AddAvailableValue(&IMBB, Incoming.UpdatedReg);
633 for (auto &Incoming : Incomings) {
634 if (!Incoming.UpdatedReg.isValid())
637 MachineBasicBlock &IMBB = *Incoming.Block;
639 IMBB, getSaluInsertionAtEnd(IMBB), {}, Incoming.UpdatedReg,
640 SSAUpdater.GetValueInMiddleOfBlock(&IMBB), Incoming.Reg);
827 const MachineInstr *MI, SmallVectorImpl<Incoming> &Incomings) const {
917 void Vreg1LoweringHelper::constrainAsLaneMask(Incoming &In) {}