Lines Matching refs:Chain

113 class Chain;
139 bool colorChainSet(std::vector<Chain*> GV, MachineBasicBlock &MBB,
141 bool colorChain(Chain *G, Color C, MachineBasicBlock &MBB);
142 int scavengeRegister(Chain *G, Color C, MachineBasicBlock &MBB);
144 std::map<unsigned, Chain*> &Active,
145 std::vector<std::unique_ptr<Chain>> &AllChains);
147 std::map<unsigned, Chain*> &RegChains);
149 Chain *getAndEraseNext(Color PreferredColor, std::vector<Chain*> &L);
161 /// A Chain is a sequence of instructions that are linked together by
186 class Chain {
204 Chain(MachineInstr *MI, unsigned Idx, Color C)
218 "Chain: broken invariant. A Chain can only be killed after its last "
239 "Chain: broken invariant. A Chain can only be killed after its last "
266 bool rangeOverlapsWith(const Chain &Other) const {
275 bool startsBefore(const Chain *Other) const {
338 std::map<unsigned, Chain*> ActiveChains;
339 std::vector<std::unique_ptr<Chain>> AllChains;
353 EquivalenceClasses<Chain*> EC;
367 std::vector<std::vector<Chain*> > V;
369 std::vector<Chain*> Cs(EC.member_begin(I), EC.member_end());
377 [](const std::vector<Chain*> &A,
378 const std::vector<Chain*> &B) {
401 Chain *AArch64A57FPLoadBalancing::getAndEraseNext(Color PreferredColor,
402 std::vector<Chain*> &L) {
419 Chain *Ch = *--I;
425 Chain *Ch = *I;
432 Chain *Ch = L.front();
437 bool AArch64A57FPLoadBalancing::colorChainSet(std::vector<Chain*> GV,
452 std::sort(GV.begin(), GV.end(), [](const Chain *G1, const Chain *G2) {
464 while (Chain *G = getAndEraseNext(PreferredColor, GV)) {
492 int AArch64A57FPLoadBalancing::scavengeRegister(Chain *G, Color C,
541 bool AArch64A57FPLoadBalancing::colorChain(Chain *G, Color C,
614 MachineInstr *MI, unsigned Idx, std::map<unsigned, Chain *> &ActiveChains,
615 std::vector<std::unique_ptr<Chain>> &AllChains) {
632 auto G = llvm::make_unique<Chain>(MI, Idx, getColor(DestReg));
649 DEBUG(dbgs() << "Chain found for accumulator register "
676 auto G = llvm::make_unique<Chain>(MI, Idx, getColor(DestReg));
694 std::map<unsigned, Chain*> &ActiveChains) {