Lines Matching full:sinking
1 //===-- Sink.cpp - Code Sinking -------------------------------------------===//
32 STATISTIC(NumSinkIter, "Number of sinking iterations");
35 class Sinking : public FunctionPass {
42 Sinking() : FunctionPass(ID) {
65 char Sinking::ID = 0;
66 INITIALIZE_PASS_BEGIN(Sinking, "sink", "Code sinking", false, false)
70 INITIALIZE_PASS_END(Sinking, "sink", "Code sinking", false, false)
72 FunctionPass *llvm::createSinkingPass() { return new Sinking(); }
76 bool Sinking::AllUsesDominatedByBlock(Instruction *Inst,
99 bool Sinking::runOnFunction(Function &F) {
108 DEBUG(dbgs() << "Sinking iteration " << NumSinkIter << "\n");
120 bool Sinking::ProcessBlock(BasicBlock &BB) {
124 // Don't bother sinking code out of unreachable blocks. In addition to being
140 // sinking.
180 bool Sinking::IsAcceptableTarget(Instruction *Inst,
219 bool Sinking::SinkInstruction(Instruction *Inst,
232 // FIXME: This should include support for sinking instructions within the
236 // be careful not to *increase* register pressure though, e.g. sinking