[PATCH] D73804: [GVN] Add GVNOption to control load-pre more fine-grained.

Fedor Sergeev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 2 22:04:13 PST 2020


fedor.sergeev added a comment.

In D73804#1852503 <https://reviews.llvm.org/D73804#1852503>, @hgreving wrote:

> Hello, this switch intends to help our backend to software pipeline single basic block loops. The suppressed GVN opt is creating control flow in loops which we like to avoid. Thanks in advance for looking at the patch.


Curiously, just recently we had a similar case in our downstream pipeline, though we had a GVN splitting loop backedge and leading to a loss of a loop form (by making a non-exiting latch).
Solved by disabling load-pre in a separate responsible GVN instance, though this control looks more appropriate.

I wonder whether this change needs to be extended into "not doing questionable control flow modifications when loop-pre'ing in loops" and enabled unconditionally?
It will require properly defining this "questionable" part.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73804/new/

https://reviews.llvm.org/D73804





More information about the llvm-commits mailing list