[all-commits] [llvm/llvm-project] 278aa6: [IR] Let IRBuilder's CreateVectorSplat/CreateShuff...

Juneyoung Lee via All-commits all-commits at lists.llvm.org
Tue Dec 29 11:39:52 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 278aa65cc495b2f548018eb2fd96351d36b4591f
      https://github.com/llvm/llvm-project/commit/278aa65cc495b2f548018eb2fd96351d36b4591f
  Author: Juneyoung Lee <aqjune at gmail.com>
  Date:   2020-12-30 (Wed, 30 Dec 2020)

  Changed paths:
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/SystemZ/zvector.c
    M clang/test/CodeGen/arm-mve-intrinsics/compare.c
    M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
    M clang/test/CodeGen/arm-mve-intrinsics/dup.c
    M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
    M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
    M clang/test/CodeGen/builtins-ppc-p10vector.c
    M clang/test/CodeGen/matrix-type-operators.c
    M clang/test/CodeGen/vecshift.c
    M clang/test/CodeGenCXX/matrix-type-operators.cpp
    M clang/test/CodeGenCXX/vector-conditional.cpp
    M clang/test/CodeGenCXX/vector-splat-conversion.cpp
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/shifts.cl
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
    M llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/shuffle-select-narrow-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/shuffle-select-narrow.ll
    M llvm/test/Transforms/InstCombine/type_pun-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/type_pun.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vscale_cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-1.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
    M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
    M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/vector-geps.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/bigger-expressions-double.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/const-gep.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-loops.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-row-major.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
    M llvm/test/Transforms/PhaseOrdering/X86/scalarization-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/PR38339.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external_user_jumbled_load-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external_user_jumbled_load.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hoist.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-shuffle-placement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-used-in-phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled-load.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/store-jumbled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
    M llvm/test/Transforms/SLPVectorizer/slp-max-phi-size.ll
    M llvm/test/Transforms/Scalarizer/vector-gep.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/load.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
    M polly/test/Isl/CodeGen/invariant_load_hoist_alignment.ll
    M polly/test/Isl/CodeGen/simple_vec_cast.ll
    M polly/test/Isl/CodeGen/simple_vec_const.ll
    M polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll

  Log Message:
  -----------
  [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder

This patch updates IRBuilder to create insertelement/shufflevector using poison as a placeholder.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D93793




More information about the All-commits mailing list