Skip to content

Commit c74875d

Browse files
committed
use TypeSize for mem type since it can be scalable vector
1 parent cffe115 commit c74875d

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
@@ -3475,8 +3475,8 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
34753475
LLT MemTy = MMO.getMemoryType();
34763476
MachineFunction &MF = MIRBuilder.getMF();
34773477

3478-
unsigned MemSizeInBits = MemTy.getSizeInBits();
3479-
unsigned MemStoreSizeInBits = 8 * MemTy.getSizeInBytes();
3478+
TypeSize MemSizeInBits = MemTy.getSizeInBits();
3479+
TypeSize MemStoreSizeInBits = MemTy.getSizeInBytes().multiplyCoefficientBy(8);
34803480

34813481
if (MemSizeInBits != MemStoreSizeInBits) {
34823482
if (MemTy.isVector())
@@ -3540,7 +3540,7 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
35403540

35413541
if (!isPowerOf2_32(MemSizeInBits)) {
35423542
// This load needs splitting into power of 2 sized loads.
3543-
LargeSplitSize = llvm::bit_floor(MemSizeInBits);
3543+
LargeSplitSize = llvm::bit_floor(MemSizeInBits.getKnownMinValue());
35443544
SmallSplitSize = MemSizeInBits - LargeSplitSize;
35453545
} else {
35463546
// This is already a power of 2, but we still need to split this in half.

0 commit comments

Comments
 (0)