Skip to content

Commit 82fef78

Browse files
committed
use TypeSize for mem type since it can be scalable vector
1 parent 3f3e85c commit 82fef78

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

3402-
unsigned MemSizeInBits = MemTy.getSizeInBits();
3403-
unsigned MemStoreSizeInBits = 8 * MemTy.getSizeInBytes();
3402+
TypeSize MemSizeInBits = MemTy.getSizeInBits();
3403+
TypeSize MemStoreSizeInBits = MemTy.getSizeInBytes().multiplyCoefficientBy(8);
34043404

34053405
if (MemSizeInBits != MemStoreSizeInBits) {
34063406
if (MemTy.isVector())
@@ -3464,7 +3464,7 @@ LegalizerHelper::LegalizeResult LegalizerHelper::lowerLoad(GAnyLoad &LoadMI) {
34643464

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

0 commit comments

Comments
 (0)