Lines Matching refs:BlockChain
234 class BlockChain;
237 using BlockToChainMapType = DenseMap<const MachineBasicBlock *, BlockChain *>;
250 class BlockChain { class
271 BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB) in BlockChain() function in __anon4a3aec630111::BlockChain
305 void merge(MachineBasicBlock *BB, BlockChain *Chain) { in merge()
423 SpecificBumpPtrAllocator<BlockChain> ChainAllocator;
431 DenseMap<const MachineBasicBlock *, BlockChain *> BlockToChain;
461 const BlockChain &Chain, const MachineBasicBlock *LoopHeaderBB,
467 const BlockChain &Chain, const MachineBasicBlock *BB,
473 const MachineBasicBlock *BB, const BlockChain &Chain,
484 BlockChain &Chain, BlockFilterSet *BlockFilter,
488 BlockChain &Chain, BlockFilterSet *BlockFilter,
493 const BlockChain &SuccChain, BranchProbability SuccProb,
494 BranchProbability RealSuccProb, const BlockChain &Chain,
497 const MachineBasicBlock *BB, const BlockChain &Chain,
500 const BlockChain &Chain, SmallVectorImpl<MachineBasicBlock *> &WorkList);
502 const BlockChain &PlacedChain,
512 SmallPtrSetImpl<BlockChain *> &UpdatedPreds,
515 void buildChain(const MachineBasicBlock *BB, BlockChain &Chain,
537 BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
540 BlockChain &LoopChain, const MachineLoop &L,
553 const BlockChain &Chain, const BlockFilterSet *BlockFilter);
558 const BlockChain &Chain, const BlockFilterSet *BlockFilter);
564 BranchProbability AdjustedSumProb, const BlockChain &Chain,
576 const BlockChain &Chain, const BlockFilterSet *BlockFilter);
654 const BlockChain &Chain, const MachineBasicBlock *LoopHeaderBB, in markChainSuccessors()
670 const BlockChain &Chain, const MachineBasicBlock *MBB, in markBlockSuccessors()
679 BlockChain &SuccChain = *BlockToChain[Succ]; in markBlockSuccessors()
703 const MachineBasicBlock *BB, const BlockChain &Chain, in collectViableSuccessors()
728 BlockChain *SuccChain = BlockToChain[Succ]; in collectViableSuccessors()
812 const BlockChain &Chain, const BlockFilterSet *BlockFilter) { in isProfitableToTailDup()
966 const BlockChain &Chain, const BlockFilterSet *BlockFilter) { in isTrellis()
988 const BlockChain *PredChain = BlockToChain[SuccPred]; in isTrellis()
1061 BranchProbability AdjustedSumProb, const BlockChain &Chain, in getBestTrellisSuccessor()
1145 const BlockChain &Chain, const BlockFilterSet *BlockFilter) { in canTailDuplicateUnplacedPreds()
1412 const BlockChain &SuccChain, BranchProbability SuccProb, in hasBetterLayoutPredecessor()
1413 BranchProbability RealSuccProb, const BlockChain &Chain, in hasBetterLayoutPredecessor()
1541 BlockChain *PredChain = BlockToChain[Pred]; in hasBetterLayoutPredecessor()
1592 const MachineBasicBlock *BB, const BlockChain &Chain, in selectBestSuccessor()
1612 BlockChain *SuccChain = BlockToChain[Succ]; in selectBestSuccessor()
1634 BlockChain &SuccChain = *BlockToChain[Succ]; in selectBestSuccessor()
1704 const BlockChain &Chain, SmallVectorImpl<MachineBasicBlock *> &WorkList) { in selectBestCandidateBlock()
1724 BlockChain &SuccChain = *BlockToChain[MBB]; in selectBestCandidateBlock()
1772 const BlockChain &PlacedChain, in getFirstUnplacedBlock()
1792 SmallPtrSetImpl<BlockChain *> &UpdatedPreds, in fillWorkLists()
1794 BlockChain &Chain = *BlockToChain[MBB]; in fillWorkLists()
1824 const MachineBasicBlock *HeadBB, BlockChain &Chain, in buildChain()
1878 BlockChain &SuccChain = *BlockToChain[BestSucc]; in buildChain()
1933 BlockChain *PredChain = BlockToChain[Pred]; in TopFallThroughFreq()
1942 BlockChain *SuccChain = BlockToChain[Succ]; in TopFallThroughFreq()
2003 BlockChain *PredChain = BlockToChain[Pred]; in FallThroughGains()
2023 BlockChain *SuccChain = BlockToChain[Succ]; in FallThroughGains()
2082 BlockChain &HeaderChain = *BlockToChain[OldTop]; in findBestLoopTopHelper()
2187 BlockChain &HeaderChain = *BlockToChain[L.getHeader()]; in findBestLoopExit()
2202 BlockChain &Chain = *BlockToChain[MBB]; in findBestLoopExit()
2220 BlockChain &SuccChain = *BlockToChain[Succ]; in findBestLoopExit()
2302 BlockChain *PredChain = BlockToChain[Pred]; in hasViableTopFallthrough()
2311 BlockChain *SuccChain = BlockToChain[Succ]; in hasViableTopFallthrough()
2332 void MachineBlockPlacement::rotateLoop(BlockChain &LoopChain, in rotateLoop()
2357 BlockChain *SuccChain = BlockToChain[Succ]; in rotateLoop()
2370 BlockChain::iterator ExitIt = llvm::find(LoopChain, ExitingBB); in rotateLoop()
2421 BlockChain &LoopChain, const MachineLoop &L, in rotateLoopWithProfile()
2448 BlockChain *PredChain = BlockToChain[Pred]; in rotateLoopWithProfile()
2470 BlockChain *SuccChain = BlockToChain[Succ]; in rotateLoopWithProfile()
2587 BlockChain *Chain = BlockToChain[LoopBB]; in collectLoopBlockSet()
2639 BlockChain &LoopChain = *BlockToChain[LoopTop]; in buildLoopChains()
2644 SmallPtrSet<BlockChain *, 4> UpdatedPreds; in buildLoopChains()
2703 BlockChain *Chain = in buildCFGChains()
2704 new (ChainAllocator.Allocate()) BlockChain(BlockToChain, BB); in buildCFGChains()
2740 SmallPtrSet<BlockChain *, 4> UpdatedPreds; in buildCFGChains()
2744 BlockChain &FunctionChain = *BlockToChain[&F->front()]; in buildCFGChains()
2862 BlockChain &FunctionChain = *BlockToChain[&F->front()]; in optimizeBranches()
2903 BlockChain &FunctionChain = *BlockToChain[&F->front()]; in alignBlocks()
3021 BlockChain &Chain, BlockFilterSet *BlockFilter, in repeatedlyTailDuplicateBlock()
3042 BlockChain::iterator ChainEnd = Chain.end(); in repeatedlyTailDuplicateBlock()
3078 BlockChain &Chain, BlockFilterSet *BlockFilter, in maybeTailDuplicateBlock()
3100 BlockChain *Chain = BlockToChain[RemBB]; in maybeTailDuplicateBlock()
3154 BlockChain* PredChain = BlockToChain[Pred]; in maybeTailDuplicateBlock()
3163 BlockChain *NewChain = BlockToChain[NewSucc]; in maybeTailDuplicateBlock()
3196 BlockChain *PredChain = BlockToChain[Pred]; in isBestSuccessor()
3206 BlockChain *SuccChain = BlockToChain[Succ]; in isBestSuccessor()
3640 BlockChain *FunctionChain = in createCFGChainExtTsp()
3641 new (ChainAllocator.Allocate()) BlockChain(BlockToChain, HeadBB); in createCFGChainExtTsp()