[all-commits] [llvm/llvm-project] 9b2961: Use unary CreateShuffleVector if possible
Juneyoung Lee via All-commits
all-commits at lists.llvm.org
Wed Dec 30 06:11:11 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9b29610228c838a66a88edf43ddd25acf8d1b477
https://github.com/llvm/llvm-project/commit/9b29610228c838a66a88edf43ddd25acf8d1b477
Author: Juneyoung Lee <aqjune at gmail.com>
Date: 2020-12-30 (Wed, 30 Dec 2020)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins-constrained.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
M clang/test/CodeGen/X86/f16c-builtins-constrained.c
M clang/test/CodeGen/X86/f16c-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovl.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vrev.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGenOpenCL/as_type.cl
M clang/test/CodeGenOpenCL/partial_initializer.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCL/vectorLoadStore.cl
M clang/test/CodeGenOpenCL/vector_literals_valid.cl
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/CodeGen/AArch64/aarch64-interleaved-ld-combine.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments-address-space.ll
M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll
M llvm/test/CodeGen/Generic/expand-experimental-reductions.ll
M llvm/test/Instrumentation/MemorySanitizer/clmul.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
M llvm/test/Transforms/InstCombine/canonicalize-vector-insert.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses-inseltpoison.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses.ll
M llvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses-inseltpoison.ll
M llvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll
M llvm/test/Transforms/InterleavedAccess/X86/interleavedStore-inseltpoison.ll
M llvm/test/Transforms/InterleavedAccess/X86/interleavedStore.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/bigger-expressions-double.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/const-gep.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/load-align-volatile.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-add-sub-double-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction-fmf.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction-fmf.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backward.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-forward.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-mixed-users.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/store-align-volatile.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-double.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-float.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-i32.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-double.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-float.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-i32.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-double-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-double.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-float-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-float.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-i32-row-major.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-i32.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/horizontal-store.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
Use unary CreateShuffleVector if possible
As mentioned in D93793, there are quite a few places where unary `IRBuilder::CreateShuffleVector(X, Mask)` can be used
instead of `IRBuilder::CreateShuffleVector(X, Undef, Mask)`.
Let's update them.
Actually, it would have been more natural if the patches were made in this order:
(1) let them use unary CreateShuffleVector first
(2) update IRBuilder::CreateShuffleVector to use poison as a placeholder value (D93793)
The order is swapped, but in terms of correctness it is still fine.
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D93923
Commit: 420d046d6bdd8d950dad389a97e31f841052efb2
https://github.com/llvm/llvm-project/commit/420d046d6bdd8d950dad389a97e31f841052efb2
Author: Juneyoung Lee <aqjune at gmail.com>
Date: 2020-12-30 (Wed, 30 Dec 2020)
Changed paths:
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins-constrained.c
M clang/test/CodeGen/arm64-abi-vector.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
clang-format, address warnings
Compare: https://github.com/llvm/llvm-project/compare/e47e313d647e...420d046d6bdd
More information about the All-commits
mailing list