[PATCH] D73641: [LoopFusion] Move instructions from FC1.GuardBlock to FC0.GuardBlock and from FC0.ExitBlock to FC1.ExitBlock when proven safe.

Whitney Tsang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 29 13:40:39 PST 2020


Whitney added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:766
 
-          if (FC1->GuardBranch && !isEmptyGuardBlock(*FC1)) {
-            LLVM_DEBUG(dbgs() << "Fusion candidate does not have empty guard "
----------------
jdoerfert wrote:
> Do we still need these `isEmptyXXXBlock` methods?
Good catch!


================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:776
             continue;
           }
 
----------------
jdoerfert wrote:
> What happens now if there is a FC1 guard branch with non-movable instructions but no fc0 guard branch. I think we now miss that case and do sth? Could you add a test if we don't have one?
I think that's not allowed in https://reviews.llvm.org/D71569.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73641





More information about the llvm-commits mailing list