Lines Matching full:sinking
1 //===- MachineSink.cpp - Sinking for machine instructions -----------------===//
13 // for an LLVM-IR-level sinking pass. It is only designed to sink simple
69 cl::desc("Split critical edges during machine sinking"),
106 cl::desc("The maximum number of instructions considered for cycle sinking."),
286 "Machine code sinking", false, false)
292 "Machine code sinking", false, false) in INITIALIZE_PASS_DEPENDENCY()
516 LLVM_DEBUG(dbgs() << "Sinking copy of"; MI.dump(); dbgs() << "into"; in PerformSinkAndFold()
716 LLVM_DEBUG(dbgs() << "******** Machine Sinking ********\n"); in runOnMachineFunction()
814 // Don't bother sinking code out of unreachable blocks. In addition to being in ProcessBlock()
832 // sinking. in ProcessBlock()
867 // recalculate the bb register pressure after sinking one BB. in ProcessBlock()
897 // sinking multiple "cheap" instructions into the same block. in isWorthBreakingCriticalEdge()
938 // so sinking their uses won't enable any opportunities. in isWorthBreakingCriticalEdge()
943 // check if breaking the edge will enable sinking in isWorthBreakingCriticalEdge()
1050 // register pressure is changed after sinking any instructions into it. in getBBRegisterPressure()
1139 // If this instruction is inside a Cycle and sinking this instruction can make in isProfitableToSinkTo()
1158 // This def register's live range is shortened after sinking. in isProfitableToSinkTo()
1176 // If sinking this operand makes some register pressure set exceed limit, in isProfitableToSinkTo()
1187 // if no operand sinking make register pressure set exceed limit, it is in isProfitableToSinkTo()
1204 // Handle cases where sinking can happen but where the sink point isn't a in GetAllSortedSuccessors()
1422 // Post-regalloc, we may be sinking a DBG_VALUE of a sub or super-register in attemptDebugCopyProp()
1587 // FIXME: Come up with a proper cost model that estimates whether sinking in SinkIntoCycle()
1617 LLVM_DEBUG(dbgs() << "CycleSink: Not sinking, can't find sink block.\n"); in SinkIntoCycle()
1622 dbgs() << "CycleSink: Not sinking, sink block is the preheader\n"); in SinkIntoCycle()
1627 dbgs() << "CycleSink: Not Sinking, block too large to analyse.\n"); in SinkIntoCycle()
1631 LLVM_DEBUG(dbgs() << "CycleSink: Sinking instruction!\n"); in SinkIntoCycle()
1670 // FIXME: This should include support for sinking instructions within the in SinkInstruction()
1674 // be careful not to *increase* register pressure though, e.g. sinking in SinkInstruction()
1728 // Otherwise we are OK with sinking along a critical edge. in SinkInstruction()
1730 LLVM_DEBUG(dbgs() << "Sinking along critical edge.\n"); in SinkInstruction()
1762 LLVM_DEBUG(dbgs() << " *** Not sinking: prologue interference\n"); in SinkInstruction()
1790 // After sinking, some debug users may not be dominated any more. If possible, in SinkInstruction()
2157 dbgs() << " *** Not sinking: prologue interference\n"); in tryToSinkCopy()