[PATCH] D54255: [MIPS GlobalISel] narrowScalar G_CONSTANT

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 9 06:24:56 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL346495: [MIPS GlobalISel] narrowScalar G_CONSTANT (authored by Petar.Avramovic, committed by ).
Herald added subscribers: llvm-commits, jrtc27.

Changed prior to commit:
  https://reviews.llvm.org/D54255?vs=173140&id=173313#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D54255

Files:
  llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp


Index: llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp
===================================================================
--- llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp
+++ llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp
@@ -41,8 +41,7 @@
 
   getActionDefinitionsBuilder(G_CONSTANT)
       .legalFor({s32})
-      .minScalar(0, s32)
-      .customFor({s64});
+      .clampScalar(0, s32, s32);
 
   getActionDefinitionsBuilder(G_GEP)
       .legalFor({{p0, s32}});
@@ -93,27 +92,6 @@
     MI.eraseFromParent();
     break;
   }
-  case G_CONSTANT: {
-
-    unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits();
-    const LLT sHalf = LLT::scalar(Size / 2);
-
-    const APInt &CImmValue = MI.getOperand(1).getCImm()->getValue();
-
-    unsigned ResLow = MRI.createGenericVirtualRegister(sHalf);
-    unsigned ResHigh = MRI.createGenericVirtualRegister(sHalf);
-    MIRBuilder.buildConstant(
-        ResLow, *ConstantInt::get(MI.getMF()->getFunction().getContext(),
-                                  CImmValue.trunc(Size / 2)));
-    MIRBuilder.buildConstant(
-        ResHigh, *ConstantInt::get(MI.getMF()->getFunction().getContext(),
-                                   CImmValue.lshr(Size / 2).trunc(Size / 2)));
-
-    MIRBuilder.buildMerge(MI.getOperand(0).getReg(), {ResLow, ResHigh});
-
-    MI.eraseFromParent();
-    break;
-  }
   default:
     return false;
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54255.173313.patch
Type: text/x-patch
Size: 1402 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181109/28f35f2e/attachment.bin>


More information about the llvm-commits mailing list