[PATCH] D92488: [LICM] Add a maximum for the number of instructions to be hoisted

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 2 08:51:28 PST 2020


SjoerdMeijer created this revision.
SjoerdMeijer added reviewers: asbirlea, davide, reames, samparker, dmgreen.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.
SjoerdMeijer requested review of this revision.

LICM does not have any restrictions on the number memory instructions that is hoisting. Because it doesn't take any register pressure into consideration while doing this, we see cases with massive spilling/reloading. This is a first step attempt to control this by adding an option so that this maximum can be a user specified value, or calculated/estimated. For now, if isn't user-specified, we initialise it to the number of scalar registers, but we should definitely follow up on this try and come up with a something smarter.


https://reviews.llvm.org/D92488

Files:
  llvm/lib/Transforms/Scalar/LICM.cpp
  llvm/test/Transforms/LICM/hoist-round.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92488.308979.patch
Type: text/x-patch
Size: 8777 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201202/9277a92d/attachment.bin>


More information about the llvm-commits mailing list