[PATCH] D78176: [X86] Various improvements to our vector splitting helpers for lowering. NFC

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 08:44:34 PDT 2020


craig.topper marked an inline comment as done.
craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:5814
+
+  return std::make_pair(Lo, Hi);
+}
----------------
RKSimon wrote:
> Can we trust SelectionDAG::SplitVector instead do you think? I noticed LowerTRUNCATE is using it.
I think we might need the build_vector special case in extractSubvector. I tried to remove that special case years ago and got regressions. Though I guess I don’t know if those were from splitting or other callers of extractSubvector. So there were cases where the split build_vector needs to appear in the same lowering phase that calls the extract.

I think the case in LowerTRUNCATE is during type legalization. Type legalization of nodes isn’t dependent on surrounding nodes so early extracting of build_vector isn’t important. The next DAG combine should take care of it.


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

https://reviews.llvm.org/D78176





More information about the llvm-commits mailing list