[PATCH] D115387: [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 13 09:50:17 PST 2021


reames updated this revision to Diff 393946.
reames added a comment.

Incorporate style suggestion.  Once this is LGTMed, I'll autogen all the relevant tests and rebase once more before commit.


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

https://reviews.llvm.org/D115387

Files:
  llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-lasta-lastb.ll
  llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-unpkhi-unpklo.ll
  llvm/test/Transforms/InstCombine/ExtractCast.ll
  llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
  llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
  llvm/test/Transforms/InstCombine/X86/x86-fma.ll
  llvm/test/Transforms/InstCombine/X86/x86-insertps.ll
  llvm/test/Transforms/InstCombine/X86/x86-pshufb-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse2-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse2.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse41-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-sse41.ll
  llvm/test/Transforms/InstCombine/X86/x86-vec_demanded_elts.ll
  llvm/test/Transforms/InstCombine/X86/x86-vector-shifts-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
  llvm/test/Transforms/InstCombine/X86/x86-vpermil-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
  llvm/test/Transforms/InstCombine/X86/x86-xop-inseltpoison.ll
  llvm/test/Transforms/InstCombine/X86/x86-xop.ll
  llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
  llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
  llvm/test/Transforms/InstCombine/bitcast-inseltpoison.ll
  llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
  llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
  llvm/test/Transforms/InstCombine/bitcast.ll
  llvm/test/Transforms/InstCombine/broadcast-inseltpoison.ll
  llvm/test/Transforms/InstCombine/broadcast.ll
  llvm/test/Transforms/InstCombine/cast_ptr.ll
  llvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
  llvm/test/Transforms/InstCombine/extractelement.ll
  llvm/test/Transforms/InstCombine/fmul-inseltpoison.ll
  llvm/test/Transforms/InstCombine/fmul.ll
  llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
  llvm/test/Transforms/InstCombine/gep-vector-indices.ll
  llvm/test/Transforms/InstCombine/getelementptr.ll
  llvm/test/Transforms/InstCombine/icmp-bc-vec-inseltpoison.ll
  llvm/test/Transforms/InstCombine/icmp-bc-vec.ll
  llvm/test/Transforms/InstCombine/inselt-binop-inseltpoison.ll
  llvm/test/Transforms/InstCombine/inselt-binop.ll
  llvm/test/Transforms/InstCombine/insert-const-shuf.ll
  llvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
  llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
  llvm/test/Transforms/InstCombine/insertelement-bitcast.ll
  llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
  llvm/test/Transforms/InstCombine/masked_intrinsics.ll
  llvm/test/Transforms/InstCombine/masked_intrinsics_keep_metadata.ll
  llvm/test/Transforms/InstCombine/minmax-fold.ll
  llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
  llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
  llvm/test/Transforms/InstCombine/pr38984.ll
  llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-and-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-or-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-smax-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-smin-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-umax-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-umin-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
  llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
  llvm/test/Transforms/InstCombine/scalarization.ll
  llvm/test/Transforms/InstCombine/select-extractelement-inseltpoison.ll
  llvm/test/Transforms/InstCombine/select-extractelement.ll
  llvm/test/Transforms/InstCombine/select-safe-impliedcond-transforms.ll
  llvm/test/Transforms/InstCombine/shift-add-inseltpoison.ll
  llvm/test/Transforms/InstCombine/shift-add.ll
  llvm/test/Transforms/InstCombine/shufflevec-bitcast-inseltpoison.ll
  llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
  llvm/test/Transforms/InstCombine/shufflevector-div-rem-inseltpoison.ll
  llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
  llvm/test/Transforms/InstCombine/sink-into-catchswitch.ll
  llvm/test/Transforms/InstCombine/trunc-extractelement-inseltpoison.ll
  llvm/test/Transforms/InstCombine/trunc-extractelement.ll
  llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
  llvm/test/Transforms/InstCombine/trunc.ll
  llvm/test/Transforms/InstCombine/type_pun-inseltpoison.ll
  llvm/test/Transforms/InstCombine/type_pun.ll
  llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
  llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
  llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vec_shuffle.ll
  llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vector-casts.ll
  llvm/test/Transforms/InstCombine/vector-reverse.ll
  llvm/test/Transforms/InstCombine/vector_insertelt_shuffle-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vector_insertelt_shuffle.ll
  llvm/test/Transforms/InstCombine/vscale_cmp.ll
  llvm/test/Transforms/InstCombine/vscale_extractelement-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vscale_extractelement.ll
  llvm/test/Transforms/InstCombine/vscale_insertelement-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vscale_insertelement.ll
  llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
  llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
  llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
  llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
  llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
  llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
  llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
  llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
  llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
  llvm/test/Transforms/LoopVectorize/X86/small-size.ll
  llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
  llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
  llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
  llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
  llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
  llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
  llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
  llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
  llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
  llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
  llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
  llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
  llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
  llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
  llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
  llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
  llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr40522.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
  llvm/test/Transforms/SLPVectorizer/X86/pr49081.ll



More information about the llvm-commits mailing list