Skip to content

Commit 2ffe8b6

Browse files
committed
use TypeSize for mem type since it can be scalable vector
1 parent 5d3ef06 commit 2ffe8b6

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

3360-
unsigned MemSizeInBits = MemTy.getSizeInBits();
3361-
unsigned MemStoreSizeInBits = 8 * MemTy.getSizeInBytes();
3360+
TypeSize MemSizeInBits = MemTy.getSizeInBits();
3361+
TypeSize MemStoreSizeInBits = MemTy.getSizeInBytes().multiplyCoefficientBy(8);
33623362

33633363
if (MemSizeInBits != MemStoreSizeInBits) {
33643364
if (MemTy.isVector())
@@ -3422,7 +3422,7 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
34223422

34233423
if (!isPowerOf2_32(MemSizeInBits)) {
34243424
// This load needs splitting into power of 2 sized loads.
3425-
LargeSplitSize = llvm::bit_floor(MemSizeInBits);
3425+
LargeSplitSize = llvm::bit_floor(MemSizeInBits.getKnownMinValue());
34263426
SmallSplitSize = MemSizeInBits - LargeSplitSize;
34273427
} else {
34283428
// This is already a power of 2, but we still need to split this in half.

0 commit comments

Comments
 (0)