Lines Matching full:tail
51 STATISTIC(NumTailDups, "Number of tail duplicated blocks");
53 "Number of instructions added due to tail duplication");
55 "Number of instructions removed due to tail duplication");
59 // Heuristic for tail duplication.
61 "tail-dup-size",
62 cl::desc("Maximum instructions to consider tail duplicating"), cl::init(2),
66 "tail-dup-indirect-size",
67 cl::desc("Maximum instructions to consider tail duplicating blocks that "
72 TailDupPredSize("tail-dup-pred-size",
74 "same time) to consider tail duplicating blocks."),
78 TailDupSuccSize("tail-dup-succ-size",
80 "same time) to consider tail duplicating blocks."),
84 TailDupVerify("tail-dup-verify",
88 static cl::opt<unsigned> TailDupLimit("tail-dup-limit", cl::init(~0U),
158 /// Tail duplicate the block and cleanup.
252 // Eliminate some of the copies inserted by tail duplication to maintain in tailDuplicateAndUpdate()
277 /// through. Tail-duplicate their instructions into their predecessors to
283 LLVM_DEBUG(dbgs() << "\n*** Before tail-duplicating\n"); in tailDuplicateBlocks()
481 /// After FromBB is tail duplicated into its predecessor blocks, the successors
525 // This register is defined in the tail block. in updateSuccessorsPHIs()
545 // Live in tail block, must also be live in predecessors. in updateSuccessorsPHIs()
567 // When doing tail-duplication during layout, the block ordering is in flux, in shouldTailDuplicate()
573 // Don't try to tail-duplicate single-block loops. in shouldTailDuplicate()
611 // to allow undoing the effects of tail merging and other optimizations in shouldTailDuplicate()
621 // Check the instructions in the block to determine whether tail-duplication in shouldTailDuplicate()
625 // Non-duplicable things shouldn't be tail-duplicated. in shouldTailDuplicate()
629 // tail duplication of some basic blocks, that would be duplicated otherwise. in shouldTailDuplicate()
673 // any subregisters. Due to a bug, tail duplication may add a new operand in shouldTailDuplicate()
675 // demonstrated by test/CodeGen/Hexagon/tail-dup-subreg-abort.ll. in shouldTailDuplicate()
676 // Disable tail duplication for this case for now, until the problem is in shouldTailDuplicate()
841 /// \p TDBBs A vector to keep track of all blocks tail-duplicated
850 LLVM_DEBUG(dbgs() << "\n*** Tail-duplicating " << printMBBReference(*TailBB) in tailDuplicate()
861 // Iterate through all the unique predecessors and tail-duplicate this in tailDuplicate()
924 // Update branches in pred to jump to tail's layout successor if needed. in tailDuplicate()
957 // If there are still tail instructions, abort the merge in tailDuplicate()
991 // Update branches in PrevBB based on Tail's layout successor. in tailDuplicate()