[all-commits] [llvm/llvm-project] 6d103c: [SelectionDAG] Unify scalarizeVectorLoad and Vecto...
LemonBoy via All-commits
all-commits at lists.llvm.org
Sat May 2 15:18:53 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 6d103ca855552054f34849ecf0743bb39cebc8a9
https://github.com/llvm/llvm-project/commit/6d103ca855552054f34849ecf0743bb39cebc8a9
Author: LemonBoy <thatlemon at gmail.com>
Date: 2020-05-02 (Sat, 02 May 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/idot8s.ll
M llvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
M llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
M llvm/test/CodeGen/X86/clear_upper_vector_element_bits.ll
M llvm/test/CodeGen/X86/load-local-v3i1.ll
A llvm/test/CodeGen/X86/load-local-v4i5.ll
M llvm/test/CodeGen/X86/pr15267.ll
M llvm/test/CodeGen/X86/vector-sext.ll
Log Message:
-----------
[SelectionDAG] Unify scalarizeVectorLoad and VectorLegalizer::ExpandLoad
The two code paths have the same goal, legalizing a load of a non-byte-sized vector by loading the "flattened" representation in memory, slicing off each single element and then building a vector out of those pieces.
The technique employed by `ExpandLoad` is slightly more convoluted and produces slightly better codegen on ARM, AMDGPU and x86 but suffers from some bugs (D78480) and is wrong for BE machines.
Differential Revision: https://reviews.llvm.org/D79096
More information about the All-commits
mailing list