Skip to content

Commit 9debaf8

Browse files
committed
use TypeSize for mem type since it can be scalable vector
1 parent 8a46bbb commit 9debaf8

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3397,8 +3397,8 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
33973397
LLT MemTy = MMO.getMemoryType();
33983398
MachineFunction &MF = MIRBuilder.getMF();
33993399

3400-
unsigned MemSizeInBits = MemTy.getSizeInBits();
3401-
unsigned MemStoreSizeInBits = 8 * MemTy.getSizeInBytes();
3400+
TypeSize MemSizeInBits = MemTy.getSizeInBits();
3401+
TypeSize MemStoreSizeInBits = MemTy.getSizeInBytes().multiplyCoefficientBy(8);
34023402

34033403
if (MemSizeInBits != MemStoreSizeInBits) {
34043404
if (MemTy.isVector())
@@ -3462,7 +3462,7 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
34623462

34633463
if (!isPowerOf2_32(MemSizeInBits)) {
34643464
// This load needs splitting into power of 2 sized loads.
3465-
LargeSplitSize = llvm::bit_floor(MemSizeInBits);
3465+
LargeSplitSize = llvm::bit_floor(MemSizeInBits.getKnownMinValue());
34663466
SmallSplitSize = MemSizeInBits - LargeSplitSize;
34673467
} else {
34683468
// This is already a power of 2, but we still need to split this in half.

0 commit comments

Comments
 (0)