[PATCH] D142705: [GVN] Support address translation through select instructions

Sergei Kachkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 10 04:19:36 PST 2023


kachkov98 added a comment.

In D142705#4112126 <https://reviews.llvm.org/D142705#4112126>, @mkazantsev wrote:

>> (we need only its condition and position to insert materialized value, so reporting select i1 %cond, i32 undef, i32 undef is ok: we don't care about its true and false values, addresses for %cond = true and %cond = false will be passed separately).
>
> Then why can't you just always insert it on this block's terminator? Why iterate through its instructions and try to find this garbage?

Tried to implement this suggestion. Before the change, we reported select dependency as Def with guarantee that there are no clobbers between load and this Def. Now, we report special Select dependency (without any dependency instruction attached into it) and try to find non-clobbered loads from either predecessor's terminator (non-local case) or from the load position (local case).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D142705



More information about the llvm-commits mailing list