Lines Matching refs:Move
241 bool move(const MoveGroup &Move) const;
242 bool realignGroup(const MoveGroup &Move) const;
572 auto tryAddTo = [&](const AddrInfo &Info, MoveGroup &Move) { in createLoadGroups() argument
573 assert(!Move.Main.empty() && "Move group should have non-empty Main"); in createLoadGroups()
575 if (Move.IsHvx != isHvx(Info)) in createLoadGroups()
578 Instruction *Base = Move.Main.front(); in createLoadGroups()
595 Move.Main.push_back(Info.Inst); in createLoadGroups()
596 llvm::append_range(Move.Deps, Deps); in createLoadGroups()
619 auto tryAddTo = [&](const AddrInfo &Info, MoveGroup &Move) { in createStoreGroups() argument
620 assert(!Move.Main.empty() && "Move group should have non-empty Main"); in createStoreGroups()
626 if (Move.IsHvx != isHvx(Info)) in createStoreGroups()
631 Instruction *Base = Move.Main.front(); in createStoreGroups()
634 if (!HVC.isSafeToMoveBeforeInBB(*Info.Inst, Base->getIterator(), Move.Main)) in createStoreGroups()
636 Move.Main.push_back(Info.Inst); in createStoreGroups()
655 auto AlignVectors::move(const MoveGroup &Move) const -> bool { in move()
656 assert(!Move.Main.empty() && "Move group should have non-empty Main"); in move()
657 Instruction *Where = Move.Main.front(); in move()
659 if (Move.IsLoad) { in move()
661 for (Instruction *D : Move.Deps) in move()
664 ArrayRef<Instruction *> Main(Move.Main); in move()
672 assert(Move.Deps.empty()); in move()
674 ArrayRef<Instruction *> Main(Move.Main); in move()
681 return Move.Main.size() + Move.Deps.size() > 1; in move()
684 auto AlignVectors::realignGroup(const MoveGroup &Move) const -> bool { in realignGroup()
686 if (!Move.IsHvx) in realignGroup()
697 const AddrList &BaseInfos = AddrGroups.at(Move.Base); in realignGroup()
712 std::set<Instruction *> TestSet(Move.Main.begin(), Move.Main.end()); in realignGroup()
732 Instruction *TopIn = Move.IsLoad ? Move.Main.front() : Move.Main.back(); in realignGroup()
776 int ScLen = Move.IsHvx ? HVC.HST.getVectorLength() in realignGroup()
778 assert(!Move.IsHvx || ScLen == 64 || ScLen == 128); in realignGroup()
779 assert(Move.IsHvx || ScLen == 4 || ScLen == 8); in realignGroup()
785 if (Move.IsLoad) { in realignGroup()
892 for (auto *Inst : Move.Main) in realignGroup()