summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopSink.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Enable Loop Sink pass for functions that has profile.Dehao Chen2016-11-091-0/+5
| | | | | | | | | | | | Summary: For functions with profile data, we are confident that loop sink will be optimal in sinking code. Reviewers: davidxl, hfinkel Subscribers: mehdi_amini, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D26155 llvm-svn: 286325
* Add Loop Sink pass to reverse the LICM based of basic block frequency.Dehao Chen2016-10-271-0/+328
Summary: LICM may hoist instructions to preheader speculatively. Before code generation, we need to sink down the hoisted instructions inside to loop if it's beneficial. This pass is a reverse of LICM: looking at instructions in preheader and sinks the instruction to basic blocks inside the loop body if basic block frequency is smaller than the preheader frequency. Reviewers: hfinkel, davidxl, chandlerc Subscribers: anna, modocache, mgorny, beanz, reames, dberlin, chandlerc, mcrosier, junbuml, sanjoy, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D22778 llvm-svn: 285308
OpenPOWER on IntegriCloud