[PATCH] D93764: [LoopUnswitch] Implement first version of partial unswitching.

Mindong Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 19:20:37 PST 2021


mdchen added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/LoopUnswitch.cpp:671
+  SmallVector<Value *, 4> WorkList;
+  WorkList.append(CondI->op_begin(), CondI->op_end());
+
----------------
I guess only the conditional value needs to be added here.


================
Comment at: llvm/lib/Transforms/Scalar/LoopUnswitch.cpp:692
+      // Queue the defining access to check for alias checks.
+      AccessesToCheck.push_back(MemUse->getDefiningAccess());
+      AccessedLocs.push_back(MemoryLocation::get(I));
----------------
`MemUse` could be nullptr.


================
Comment at: llvm/lib/Transforms/Scalar/LoopUnswitch.cpp:713
+          BasicBlock *Current = WorkList.back();
+          WorkList.pop_back();
+          if (!L->contains(Current))
----------------
pop_back_val()


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93764



More information about the llvm-commits mailing list