[PATCH] D97828: [LoopInterchange] Disallow interchange when memory accesses are guarded by control flow (PR48057)

Ta-Wei Tu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 21 23:40:55 PDT 2021


TaWeiTu added a comment.

In D97828#2624775 <https://reviews.llvm.org/D97828#2624775>, @Whitney wrote:

> Have you considered the case where the blocks guarded by control flow doesn't have memory operation, but affect memory operation through phi?
>
>   bb1:
>     br %cond, bb2, bb3
>   bb2:
>     br bb4
>   bb3:
>     br bb4
>   bb4:
>     %t = phi [ %t2, %bb2 ], [ %t3, %bb3 ]
>     store %t, %p

I've updated the patch to perform a more comprehensive check that consider instructions that are indirectly guarded by the control flow.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97828



More information about the llvm-commits mailing list