Skip to content

Commit fc22314

Browse files
committed
Assert that reversed loads + stores always use VPVectorEndPointerRecipe addresses
1 parent 7b8d890 commit fc22314

File tree

1 file changed

+6
-0
lines changed
  • llvm/lib/Transforms/Vectorize

1 file changed

+6
-0
lines changed

llvm/lib/Transforms/Vectorize/VPlan.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3234,6 +3234,9 @@ struct LLVM_ABI_FOR_TEST VPWidenLoadRecipe final : public VPWidenMemoryRecipe,
32343234
: VPWidenMemoryRecipe(VPDef::VPWidenLoadSC, Load, {Addr}, Consecutive,
32353235
Reverse, Metadata, DL),
32363236
VPValue(this, &Load) {
3237+
assert(isa<VPVectorEndPointerRecipe>(Addr) ||
3238+
!Reverse &&
3239+
"Reversed load without VPVectorEndPointerRecipe address?");
32373240
setMask(Mask);
32383241
}
32393242

@@ -3313,6 +3316,9 @@ struct LLVM_ABI_FOR_TEST VPWidenStoreRecipe final : public VPWidenMemoryRecipe {
33133316
const VPIRMetadata &Metadata, DebugLoc DL)
33143317
: VPWidenMemoryRecipe(VPDef::VPWidenStoreSC, Store, {Addr, StoredVal},
33153318
Consecutive, Reverse, Metadata, DL) {
3319+
assert(isa<VPVectorEndPointerRecipe>(Addr) ||
3320+
!Reverse &&
3321+
"Reversed store without VPVectorEndPointerRecipe address?");
33163322
setMask(Mask);
33173323
}
33183324

0 commit comments

Comments
 (0)