[PATCH] D57071: GlobalISel: Handle more cases for widenScalar for G_STORE

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 28 10:46:32 PST 2019


aemerson added inline comments.
Herald added a subscriber: Petar.Avramovic.


================
Comment at: lib/CodeGen/GlobalISel/LegalizerHelper.cpp:934
   case TargetOpcode::G_STORE: {
-    if (MRI.getType(MI.getOperand(0).getReg()) != LLT::scalar(1) ||
-        WideTy != LLT::scalar(8))
+    if (TypeIdx != 0)
+      return UnableToLegalize;
----------------
Why is this being changed?


================
Comment at: lib/CodeGen/GlobalISel/LegalizerHelper.cpp:946
+    unsigned ExtType = Ty.getScalarSizeInBits() == 1 ?
+      TargetOpcode::G_ZEXT : TargetOpcode::G_ANYEXT;
+    widenScalarSrc(MI, WideTy, 0, ExtType);
----------------
SelectionDAG does zext for the same IR for all types, so I think we should be consistent there.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57071/new/

https://reviews.llvm.org/D57071





More information about the llvm-commits mailing list