<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi,<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 2, 2019, at 14:10, Luke Drummond via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello<br class=""><br class="">I'm investigating a regression while bumping our target from llvm-4 to<br class="">llvm7. We see that common loads are no longer being hoisted by the<br class="">MergedLoadStoreMotion pass. We've tracked this issue down to [1]. My<br class="">understanding of [1] is that load hoisting is performed by GVNHoist and is<br class="">therefore no longer required to be duplicated by MLSM, but as far as I<br class="">can tell, GVNHoist is not enabled by default at any standard<br class="">optimization level [2][3][4] (it's hidden behind a flag). However the MLSM<br class="">code is enabled at any (level > 1).<br class=""><br class="">Is this an oversight?<br class=""><br class="">If this _is_ an oversight, does it make sense to now enable GVNHoist in the same<br class="">cases as MLSM i.e. at all optlevels > 1 ?<br class=""><br class="">If not, what is the reason for not enabling this?<br class=""></div></div></blockquote></div><br class=""><div class=""><br class=""></div><div class="">I guess one reason why GVNHoist is still disabled is that there are a few known issues:</div><div class=""><br class=""></div><div class=""><a href="https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-hoist&list_id=169717" class="">https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-hoist&list_id=169717</a></div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Florian</div></body></html>