[llvm-dev] MergeLoadStoreMotion and GVNHoist

Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 9 09:07:43 PDT 2019


Hi,

> On Sep 2, 2019, at 14:10, Luke Drummond via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hello
> 
> I'm investigating a regression while bumping our target from llvm-4 to
> llvm7. We see that common loads are no longer being hoisted by the
> MergedLoadStoreMotion pass. We've tracked this issue down to [1]. My
> understanding of [1] is that load hoisting is performed by GVNHoist and is
> therefore no longer required to be duplicated by MLSM, but as far as I
> can tell, GVNHoist is not enabled by default at any standard
> optimization level [2][3][4] (it's hidden behind a flag). However the MLSM
> code is enabled at any (level > 1).
> 
> Is this an oversight?
> 
> If this _is_ an oversight, does it make sense to now enable GVNHoist in the same
> cases as MLSM i.e. at all optlevels > 1 ?
> 
> If not, what is the reason for not enabling this?


I guess one reason why GVNHoist is still disabled is that there are a few known issues:

https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-hoist&list_id=169717 <https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-hoist&list_id=169717>

Cheers,
Florian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190909/e2710d74/attachment.html>


More information about the llvm-dev mailing list