[all-commits] [llvm/llvm-project] e6ad9e: [instcombine] Canonicalize constant index type to ...
Philip Reames via All-commits
all-commits at lists.llvm.org
Mon Dec 13 16:56:55 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e6ad9ef4e7ae6506e822c9ccf9a960354173210b
https://github.com/llvm/llvm-project/commit/e6ad9ef4e7ae6506e822c9ccf9a960354173210b
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-12-13 (Mon, 13 Dec 2021)
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/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/aarch64-bf16-ldst-intrinsics.c
M clang/test/CodeGen/aarch64-neon-vcmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/Headers/wasm.c
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-lasta-lastb.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-unpkhi-unpklo.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-tbl-dupx.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/ExtractCast.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
M llvm/test/Transforms/InstCombine/X86/x86-fma.ll
M llvm/test/Transforms/InstCombine/X86/x86-insertps.ll
M llvm/test/Transforms/InstCombine/X86/x86-pshufb-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse2-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse2.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse41-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-sse41.ll
M llvm/test/Transforms/InstCombine/X86/x86-vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-vec_demanded_elts.ll
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/X86/x86-vpermil-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
M llvm/test/Transforms/InstCombine/X86/x86-xop-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-xop.ll
M llvm/test/Transforms/InstCombine/bitcast-bigendian.ll
M llvm/test/Transforms/InstCombine/bitcast-inselt-bitcast.ll
M llvm/test/Transforms/InstCombine/bitcast-inseltpoison.ll
M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
M llvm/test/Transforms/InstCombine/bitcast.ll
M llvm/test/Transforms/InstCombine/broadcast-inseltpoison.ll
M llvm/test/Transforms/InstCombine/broadcast.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/extractelement.ll
M llvm/test/Transforms/InstCombine/fmul-inseltpoison.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-bc-vec-inseltpoison.ll
M llvm/test/Transforms/InstCombine/icmp-bc-vec.ll
M llvm/test/Transforms/InstCombine/inselt-binop-inseltpoison.ll
M llvm/test/Transforms/InstCombine/inselt-binop.ll
M llvm/test/Transforms/InstCombine/insert-const-shuf.ll
M llvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
M llvm/test/Transforms/InstCombine/insertelement-bitcast.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics_keep_metadata.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
M llvm/test/Transforms/InstCombine/pr38984.ll
M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-and-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-or-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-smax-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-smin-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-umax-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-umin-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
M llvm/test/Transforms/InstCombine/scalarization.ll
M llvm/test/Transforms/InstCombine/select-extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/select-extractelement.ll
M llvm/test/Transforms/InstCombine/select-safe-impliedcond-transforms.ll
M llvm/test/Transforms/InstCombine/shift-add-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/shufflevec-bitcast-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
M llvm/test/Transforms/InstCombine/shufflevector-div-rem-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
M llvm/test/Transforms/InstCombine/sincospi.ll
M llvm/test/Transforms/InstCombine/sink-into-catchswitch.ll
M llvm/test/Transforms/InstCombine/trunc-extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/type_pun-inseltpoison.ll
M llvm/test/Transforms/InstCombine/type_pun.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_extract_2elts.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
M llvm/test/Transforms/InstCombine/vec_phi_extract-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_phi_extract.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
M llvm/test/Transforms/InstCombine/vector-reverse.ll
M llvm/test/Transforms/InstCombine/vector_insertelt_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_insertelt_shuffle.ll
M llvm/test/Transforms/InstCombine/vscale_cmp.ll
M llvm/test/Transforms/InstCombine/vscale_extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vscale_extractelement.ll
M llvm/test/Transforms/InstCombine/vscale_insertelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vscale_insertelement.ll
M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.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/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction.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-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr40522.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr49081.ll
Log Message:
-----------
[instcombine] Canonicalize constant index type to i64 for extractelement/insertelement
The basic idea to this is that a) having a single canonical type makes CSE easier, and b) many of our transforms are inconsistent about which types we end up with based on visit order.
I'm restricting this to constants as for non-constants, we'd have to decide whether the simplicity was worth extra instructions. For constants, there are no extra instructions.
We chose the canonical type as i64 arbitrarily. We might consider changing this to something else in the future if we have cause.
Differential Revision: https://reviews.llvm.org/D115387
More information about the All-commits
mailing list