Lines Matching refs:BlockChain
108 class BlockChain;
110 typedef DenseMap<MachineBasicBlock *, BlockChain *> BlockToChainMapType;
125 class BlockChain { class
146 BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB) in BlockChain() function in __anond3af580f0211::BlockChain
167 void merge(MachineBasicBlock *BB, BlockChain *Chain) { in merge()
241 SpecificBumpPtrAllocator<BlockChain> ChainAllocator;
249 DenseMap<MachineBasicBlock *, BlockChain *> BlockToChain;
251 void markChainSuccessors(BlockChain &Chain, MachineBasicBlock *LoopHeaderBB,
255 BlockChain &Chain,
258 selectBestCandidateBlock(BlockChain &Chain,
262 getFirstUnplacedBlock(MachineFunction &F, const BlockChain &PlacedChain,
265 void buildChain(MachineBasicBlock *BB, BlockChain &Chain,
274 void rotateLoop(BlockChain &LoopChain, MachineBasicBlock *ExitingBB,
276 void rotateLoopWithProfile(BlockChain &LoopChain, MachineLoop &L,
341 BlockChain &Chain, MachineBasicBlock *LoopHeaderBB, in markChainSuccessors()
354 BlockChain &SuccChain = *BlockToChain[Succ]; in markChainSuccessors()
378 BlockChain &Chain, in selectBestSuccessor()
408 BlockChain *SuccChain = BlockToChain[Succ]; in selectBestSuccessor()
460 BlockChain &SuccChain = *BlockToChain[Succ]; in selectBestSuccessor()
515 BlockChain &Chain, SmallVectorImpl<MachineBasicBlock *> &WorkList, in selectBestCandidateBlock()
530 BlockChain &SuccChain = *BlockToChain[MBB]; in selectBestCandidateBlock()
556 MachineFunction &F, const BlockChain &PlacedChain, in getFirstUnplacedBlock()
575 MachineBasicBlock *BB, BlockChain &Chain, in buildChain()
612 BlockChain &SuccChain = *BlockToChain[BestSucc]; in buildChain()
643 BlockChain &HeaderChain = *BlockToChain[L.getHeader()]; in findBestLoopTop()
700 BlockChain &HeaderChain = *BlockToChain[L.getHeader()]; in findBestLoopExit()
715 BlockChain &Chain = *BlockToChain[MBB]; in findBestLoopExit()
733 BlockChain &SuccChain = *BlockToChain[Succ]; in findBestLoopExit()
803 void MachineBlockPlacement::rotateLoop(BlockChain &LoopChain, in rotateLoop()
812 BlockChain *PredChain = BlockToChain[Pred]; in rotateLoop()
826 BlockChain *SuccChain = BlockToChain[Succ]; in rotateLoop()
833 BlockChain::iterator ExitIt = in rotateLoop()
855 BlockChain &LoopChain, MachineLoop &L, const BlockFilterSet &LoopBlockSet) { in rotateLoopWithProfile()
878 BlockChain *PredChain = BlockToChain[Pred]; in rotateLoopWithProfile()
900 BlockChain *SuccChain = BlockToChain[Succ]; in rotateLoopWithProfile()
1060 BlockChain &LoopChain = *BlockToChain[LoopTop]; in buildLoopChains()
1065 SmallPtrSet<BlockChain *, 4> UpdatedPreds; in buildLoopChains()
1070 BlockChain &Chain = *BlockToChain[LoopBB]; in buildLoopChains()
1135 BlockChain *Chain = in buildCFGChains()
1136 new (ChainAllocator.Allocate()) BlockChain(BlockToChain, BB); in buildCFGChains()
1186 SmallPtrSet<BlockChain *, 4> UpdatedPreds; in buildCFGChains()
1188 BlockChain &Chain = *BlockToChain[&MBB]; in buildCFGChains()
1206 BlockChain &FunctionChain = *BlockToChain[&F.front()]; in buildCFGChains()