Skip to content

Commit c802007

Browse files
committed
Use getFloatTypeForLLT
1 parent bc597b8 commit c802007

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,17 +1123,13 @@ LegalizerHelper::libcall(MachineInstr &MI, LostDebugLocObserver &LocObserver) {
11231123
case TargetOpcode::G_FPTOSI:
11241124
case TargetOpcode::G_FPTOUI: {
11251125
// FIXME: Support other types
1126-
unsigned FromSize = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits();
1126+
Type *FromTy =
1127+
getFloatTypeForLLT(Ctx, MRI.getType(MI.getOperand(1).getReg()));
11271128
unsigned ToSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits();
1128-
if ((ToSize != 32 && ToSize != 64 && ToSize != 128) ||
1129-
(FromSize != 32 && FromSize != 64 && FromSize != 128))
1129+
if ((ToSize != 32 && ToSize != 64 && ToSize != 128) || !FromTy)
11301130
return UnableToLegalize;
1131-
LegalizeResult Status =
1132-
conversionLibcall(MI, MIRBuilder, Type::getIntNTy(Ctx, ToSize),
1133-
FromSize == 128 ? Type::getFP128Ty(Ctx)
1134-
: FromSize == 64 ? Type::getDoubleTy(Ctx)
1135-
: Type::getFloatTy(Ctx),
1136-
LocObserver);
1131+
LegalizeResult Status = conversionLibcall(
1132+
MI, MIRBuilder, Type::getIntNTy(Ctx, ToSize), FromTy, LocObserver);
11371133
if (Status != Legalized)
11381134
return Status;
11391135
break;

0 commit comments

Comments
 (0)