Lines Matching full:duplication

151               cl::desc("Perform tail duplication during placement. "
162 // Heuristic for tail duplication.
165 cl::desc("Instruction cutoff for tail duplication during layout. "
170 // Heuristic for aggressive tail duplication.
173 cl::desc("Instruction cutoff for aggressive tail duplication during "
178 // Heuristic for tail duplication.
188 // Heuristic for tail duplication if profile count is used in cost model.
191 cl::desc("If profile count information is used in tail duplication cost "
192 "model, the gained fall through number from tail duplication "
200 "triangle tail duplication heuristic to kick in. 0 to disable."),
387 /// Member variable for convenience. It may be removed by duplication deep
404 /// Placement decisions can open up new tail duplication opportunities, but
405 /// since tail duplication affects placement decisions of later blocks, it
409 /// Partial tail duplication threshold.
412 /// True: use block profile count to compute tail duplication cost.
413 /// False: use block frequency to compute tail duplication cost.
442 /// The return value is used to model tail duplication cost.
553 /// Check the edge frequencies to see if tail duplication will increase
809 /// Check the edge frequencies to see if tail duplication will increase
811 /// \p Succ would not be chosen otherwise. Tail duplication of \p Succ is
813 /// considering duplication.
1109 // Did we pick the triangle edge? If tail-duplication is profitable, do in getBestTrellisSuccessor()
1117 // Check to see if tail-duplication would be profitable. in getBestTrellisSuccessor()
1156 // Number of possible duplication. in canTailDuplicateUnplacedPreds()
1171 // This will result in a trellis after tail duplication, so we don't in canTailDuplicateUnplacedPreds()
1173 // of a trellis tail duplication can continue to be profitable. in canTailDuplicateUnplacedPreds()
1195 // duplication and for this test. in canTailDuplicateUnplacedPreds()
1202 // to trellises created by tail-duplication, so we just look for the in canTailDuplicateUnplacedPreds()
1211 // No possible duplication in current filter set. in canTailDuplicateUnplacedPreds()
1221 // The integrated tail duplication is really designed for increasing in canTailDuplicateUnplacedPreds()
1230 // If the duplication candidate has more unplaced predecessors than in canTailDuplicateUnplacedPreds()
1231 // successors, the extra duplication can't bring more fallthrough. in canTailDuplicateUnplacedPreds()
1242 // In this example Dup has 2 successors and 3 predecessors, duplication of Dup in canTailDuplicateUnplacedPreds()
1244 // but the duplication into Pred3 can't increase fallthrough. in canTailDuplicateUnplacedPreds()
1246 // A small number of extra duplication may not hurt too much. We need a better in canTailDuplicateUnplacedPreds()
1316 // If PDom isn't eligible for duplication, this isn't the kind of triangle in precomputeTriangleChains()
1594 /// with a boolean indicating if tail duplication is necessary.
1630 // tail-duplication. We keep this vector so we can perform the probability in selectBestSuccessor()
1644 // If tail duplication would make Succ profitable, place it. in selectBestSuccessor()
1665 // Handle the tail duplication candidates in order of decreasing probability. in selectBestSuccessor()
1901 // Placement may have changed tail duplication opportunities. in buildChain()
3091 // at the end because repeating the tail duplication can increase the number in repeatedlyTailDuplicateBlock()
3121 LLVM_DEBUG(dbgs() << "Redoing tail duplication for Succ#" << BB->getNumber() in maybeTailDuplicateBlock()
3194 // We can do partial duplication with precise profile information. in maybeTailDuplicateBlock()
3204 // Update UnscheduledPredecessors to reflect tail-duplication. in maybeTailDuplicateBlock()
3235 // The size cost of duplication is the instruction size of the duplicated block.
3383 // So we can change one duplication into fallthrough. in findDuplicateCandidates()
3458 // At O3 we should be more willing to copy blocks for tail duplication. This in runOnMachineFunction()