[PATCH] D63676: Early exit from Hoist() in machine licm pass based on block hotness

Victor Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 21 14:58:04 PDT 2019


NeHuang created this revision.
NeHuang added reviewers: nemanjai, hfinkel, lei, stefanp, Yi-Hong.Lyu.
NeHuang added a project: LLVM.
Herald added subscribers: llvm-commits, asbirlea, jsji, hiraditya.

In current Hoist() function of machine licm pass, it will not check the source and destination basic block frequencies that a instruction is hoisted from/to. There is a chance that instruction is hoisted from a cold to a hot basic block.

In this patch, we add options to disable instruction hoisting due to block hotness.


https://reviews.llvm.org/D63676

Files:
  llvm/lib/CodeGen/MachineLICM.cpp
  llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessNoProfileData.mir
  llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63676.206082.patch
Type: text/x-patch
Size: 22081 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190621/bdcf1e9a/attachment.bin>


More information about the llvm-commits mailing list