diff options
| author | Arthur Eubanks <aeubanks@google.com> | 2024-06-27 16:32:27 -0700 |
|---|---|---|
| committer | shawbyoung <shawbyoung@gmail.com> | 2024-06-27 16:32:27 -0700 |
| commit | f5c7df12cacdb84552b36a7ac598a8db41acc680 (patch) | |
| tree | 3b33e941b9bfb88c40c64fd18ee32a633423cbed /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | |
| parent | 608880c3a7a59c86db82728067e553a8d4665a45 (diff) | |
| parent | 804415825b97e974c96a92580bcbeaf4c7ff0a04 (diff) | |
[𝘀𝗽𝗿] changes introduced through rebaseusers/shawbyoung/spr/main.boltnfc-refactoring-callgraph
Created using spr 1.3.4
[skip ci]
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp index 9830b521797c..430fcae73168 100644 --- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -1123,15 +1123,13 @@ LegalizerHelper::libcall(MachineInstr &MI, LostDebugLocObserver &LocObserver) { case TargetOpcode::G_FPTOSI: case TargetOpcode::G_FPTOUI: { // FIXME: Support other types - unsigned FromSize = MRI.getType(MI.getOperand(1).getReg()).getSizeInBits(); + Type *FromTy = + getFloatTypeForLLT(Ctx, MRI.getType(MI.getOperand(1).getReg())); unsigned ToSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); - if ((ToSize != 32 && ToSize != 64) || (FromSize != 32 && FromSize != 64)) + if ((ToSize != 32 && ToSize != 64 && ToSize != 128) || !FromTy) return UnableToLegalize; LegalizeResult Status = conversionLibcall( - MI, MIRBuilder, - ToSize == 32 ? Type::getInt32Ty(Ctx) : Type::getInt64Ty(Ctx), - FromSize == 64 ? Type::getDoubleTy(Ctx) : Type::getFloatTy(Ctx), - LocObserver); + MI, MIRBuilder, Type::getIntNTy(Ctx, ToSize), FromTy, LocObserver); if (Status != Legalized) return Status; break; @@ -8392,8 +8390,6 @@ LegalizerHelper::lowerVectorReduction(MachineInstr &MI) { return UnableToLegalize; } -static Type *getTypeForLLT(LLT Ty, LLVMContext &C); - LegalizerHelper::LegalizeResult LegalizerHelper::lowerVAArg(MachineInstr &MI) { MachineFunction &MF = *MI.getMF(); const DataLayout &DL = MIRBuilder.getDataLayout(); @@ -8517,13 +8513,6 @@ static bool findGISelOptimalMemOpLowering(std::vector<LLT> &MemOps, return true; } -static Type *getTypeForLLT(LLT Ty, LLVMContext &C) { - if (Ty.isVector()) - return FixedVectorType::get(IntegerType::get(C, Ty.getScalarSizeInBits()), - Ty.getNumElements()); - return IntegerType::get(C, Ty.getSizeInBits()); -} - // Get a vectorized representation of the memset value operand, GISel edition. static Register getMemsetValue(Register Val, LLT Ty, MachineIRBuilder &MIB) { MachineRegisterInfo &MRI = *MIB.getMRI(); |
