[PATCH] D73113: GlobalISel: Support widening unmerge results with pointer source

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 21 10:10:08 PST 2020


paquette added a comment.

Why is it better to generate a `G_LSHR` than a `G_ANYEXT`? On AArch64 I'd expect `G_ANYEXT` to be better, since we don't necessarily have to produce a real instruction there.



================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:1451-1452
+      const DataLayout &DL = MIRBuilder.getDataLayout();
+      if (DL.isNonIntegralAddressSpace(SrcTy.getAddressSpace()))
+        return UnableToLegalize;
+
----------------
Some debug output explaining that this isn't supported in non-integral address spaces might be useful for people trying to get GISel going.


================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:1483-1484
+    // TODO: If this is an integral address space, cast to integer and anyext.
+    if (SrcTy.isPointer())
+      return UnableToLegalize;
+
----------------
Debug output might be useful here too?


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

https://reviews.llvm.org/D73113





More information about the llvm-commits mailing list