Home | History | Annotate | Download | only in Scalar

Lines Matching full:sinking

1 //===-- Sink.cpp - Code Sinking -------------------------------------------===//
30 STATISTIC(NumSinkIter, "Number of sinking iterations");
33 class Sinking : public FunctionPass {
40 Sinking() : FunctionPass(ID) {
63 char Sinking::ID = 0;
64 INITIALIZE_PASS_BEGIN(Sinking, "sink", "Code sinking", false, false)
68 INITIALIZE_PASS_END(Sinking, "sink", "Code sinking", false, false)
70 FunctionPass *llvm::createSinkingPass() { return new Sinking(); }
74 bool Sinking::AllUsesDominatedByBlock(Instruction *Inst,
98 bool Sinking::runOnFunction(Function &F) {
107 DEBUG(dbgs() << "Sinking iteration " << NumSinkIter << "\n");
119 bool Sinking::ProcessBlock(BasicBlock &BB) {
123 // Don't bother sinking code out of unreachable blocks. In addition to being
139 // sinking.
180 bool Sinking::IsAcceptableTarget(Instruction *Inst,
219 bool Sinking::SinkInstruction(Instruction *Inst,
225 // FIXME: This should include support for sinking instructions within the
229 // be careful not to *increase* register pressure though, e.g. sinking