diff options
author | Dehao Chen <dehao@google.com> | 2016-10-27 16:30:08 +0000 |
---|---|---|
committer | Dehao Chen <dehao@google.com> | 2016-10-27 16:30:08 +0000 |
commit | b94c09baa058e57b1e931746745050e19785ef30 (patch) | |
tree | a2d57bc5d38400fcb744b91d3cb49282db424056 /clang/lib/Sema/SemaExpr.cpp | |
parent | 9c9d9cdcf8e996455318bbe334d1d36622338b70 (diff) | |
download | bcm5719-llvm-b94c09baa058e57b1e931746745050e19785ef30.tar.gz bcm5719-llvm-b94c09baa058e57b1e931746745050e19785ef30.zip |
Add Loop Sink pass to reverse the LICM based of basic block frequency.
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
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
0 files changed, 0 insertions, 0 deletions