[PATCH] D62613: [DAGCombiner] Replace gathers with a zero mask with the passthru value

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 29 11:30:56 PDT 2019


craig.topper added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:8092
+  // Zap gathers with a zero mask.
+  if (isNullOrNullSplat(Mask))
+    return CombineTo(N, MGT->getPassThru(), MGT->getChain());
----------------
I wonder if we should just use ISD::isBuildVectorAllZeros here.


================
Comment at: llvm/test/CodeGen/AArch64/vecreduce-bool.ll:100
 ; CHECK-NEXT:    and v0.16b, v0.16b, v1.16b
+; CHECK-NEXT:    cmlt v0.16b, v0.16b, #0
 ; CHECK-NEXT:    uminv b0, v0.16b
----------------
I assume this was caused by the isNullOrNullSplat change?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62613





More information about the llvm-commits mailing list