[PATCH] D37762: [InstCombine] Remove single use restriction from InstCombine's explicit sinking code.

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 13 17:04:48 PDT 2017


dberlin added a comment.

So GCC-7 definitely eliminates all computation in your benchmark at -O3 except for one and, and we should be able to do the same with a newgvn PRE.
It won't do it at https://reviews.llvm.org/owners/package/2/ because it requires partial antic, which gcc only does at https://reviews.llvm.org/owners/package/3/.

I've attached the dump of internediate code.

My conclusion: it's not sane to get it to eliminate computation with the current GVN's scalar PRE.

The store sinking would require PDSE to do in one pass optimally.
F5356104: foo2.c.133t.pre <https://reviews.llvm.org/F5356104>


https://reviews.llvm.org/D37762





More information about the llvm-commits mailing list