[PATCH] D153394: [AArch64][GlobalISel] Selection support for v2s16 G_ANYEXT

Allen zhong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 12 05:54:12 PDT 2023


Allen marked 3 inline comments as done.
Allen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:5621
+    // Look for G_BUILD_VECTORs with all constant source operands
+    if (!OpMI)
+      return nullptr;
----------------
paquette wrote:
> can you add a testcase that shows what happens when one of the G_BUILD_VECTOR sources is a constant?
> 
> e.g
> 
> ```
> %x = G_BUILD_VECTOR %constant, %not_a_constant
> ```
> 
it will crash before regbankselect, so it seems another independent issue, https://gcc.godbolt.org/z/e3Wq9Mdar, so I fire a issue https://github.com/llvm/llvm-project/issues/63826


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:5638
+    ExtI.eraseFromParent();
+  return MaybeCVec;
+}
----------------
paquette wrote:
> can you add a test to the MIR testcase that shows what happens when `emitConstantVector` returns nullptr?
I add this function refer to above function tryOptConstantBuildVec, and I don't have the idea how to construct a constant that meets the scenario where returns null , do you have any suggestion ?


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

https://reviews.llvm.org/D153394



More information about the llvm-commits mailing list