[PATCH] D103816: [SimpleLoopUnswich] Fix a bug on ComputeUnswitchedCost with partial unswitch
Sanne Wouda via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 22 03:45:10 PDT 2021
sanwou01 added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp:2875
continue;
- } else if (!PartialIVInfo.InstToDuplicate.empty()) {
+ } else if (PartialIVCondBranch == &TI) {
if (PartialIVInfo.KnownValue->isOneValue() &&
----------------
Isn't this always true for a partial unswitch? If there is a partial unswitch candidate, PartialIVCondBranch will be the terminator of the loop header. When ComputeUnswitchedCost is called for a partial unswitch TI is *also* the terminator of the loop header. Did I miss something?
FWIW I also think that the previous condition is always true: for a partial unswitch, there is always at least one instruction in InstToDuplicate. (again, the terminator of the loop header!)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103816/new/
https://reviews.llvm.org/D103816
More information about the llvm-commits
mailing list