[PATCH] D118102: [LoopInterchange] Prevent interchange with unsafe control-flow divergence inside inner loops (PR48057)
Michael Kruse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 28 11:31:03 PST 2022
Meinersbur added a comment.
As mentioned in the LoopWG call, I don't think this has anything to do with dominance relations or diverging branches. Instead `store i16 %conv9.i, i16* @e` may be executed multiple times and the last written value written to `@e` must the value stored after the loop (the problem should occur even if the store is executed every time, i.e. not diverging). This is a classic output-dependency (write-after-write). I suggest to have a look at the dependency analysis and why it missed this case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118102/new/
https://reviews.llvm.org/D118102
More information about the llvm-commits
mailing list