[all-commits] [llvm/llvm-project] 4388f4: [DAG] Don't convert undef to 0 when creating build...

David Green via All-commits all-commits at lists.llvm.org
Sun Mar 6 10:35:50 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4388f4f77694579b088e302204ecfa5588486f06
      https://github.com/llvm/llvm-project/commit/4388f4f77694579b088e302204ecfa5588486f06
  Author: David Green <david.green at arm.com>
  Date:   2022-03-06 (Sun, 06 Mar 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/arm64-vshuffle.ll
    M llvm/test/CodeGen/PowerPC/vec-itofp.ll
    M llvm/test/CodeGen/PowerPC/vec_conv_i16_to_fp64_elts.ll
    M llvm/test/CodeGen/PowerPC/vec_conv_i8_to_fp32_elts.ll
    M llvm/test/CodeGen/PowerPC/vec_conv_i8_to_fp64_elts.ll
    M llvm/test/CodeGen/Thumb2/mve-vst3.ll

  Log Message:
  -----------
  [DAG] Don't convert undef to 0 when creating buildvector

When inserting undef into buildvectors created from shuffles of
buildvectors, we convert elements to the largest needed type. This had
the effect of converting undef into 0, which isn't needed as the
buildvector implicitly truncates and trunc(zext(undef)) == undef.

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




More information about the All-commits mailing list