[PATCH] D97828: [LoopInterchange] Disallow interchange when memory accesses are guarded by control flow
Ta-Wei Tu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 2 20:29:40 PST 2021
TaWeiTu created this revision.
TaWeiTu added reviewers: fhahn, Whitney.
Herald added a subscriber: hiraditya.
TaWeiTu requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
If instructions that have side effects are guarded by control flow,
the order of execution might differ after interchanging the loops
and results in incorrect behaviour (the branch condition may depends
on the execution order).
This fixes https://bugs.llvm.org/show_bug.cgi?id=48057
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D97828
Files:
llvm/lib/Transforms/Scalar/LoopInterchange.cpp
llvm/test/Transforms/LoopInterchange/pr48057.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97828.327657.patch
Type: text/x-patch
Size: 8180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210303/b12fc20d/attachment.bin>
More information about the llvm-commits
mailing list