[all-commits] [llvm/llvm-project] 304abd: [GISel][CombinerHelper] Add support for scalar typ...

qcolombet via All-commits all-commits at lists.llvm.org
Fri Nov 15 13:55:11 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 304abde0779ba036bde985b33eabbc6113cf0189
      https://github.com/llvm/llvm-project/commit/304abde0779ba036bde985b33eabbc6113cf0189
  Author: Quentin Colombet <qcolombet at apple.com>
  Date:   2019-11-15 (Fri, 15 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir

  Log Message:
  -----------
  [GISel][CombinerHelper] Add support for scalar type for the result of shuffle vector

LLVM IR of 1-element vectors get lower into scalar in GISel. As a
result, shuffle vector may also produce a scalar.

This patch teaches the shuffle combiner how to deal with scalars when
they are in the destination type of a shuffle vector.

For now, we just support the easy case where this can be lowered to
a plain copy. For other cases, we leave the shuffle vector as is.

This type of IR are seen in O0 pipelines. E.g., as produced with
SingleSource/UnitTests/Vector/AArch64/aarch64_neon_intrinsics.c.

rdar://problem/57198904




More information about the All-commits mailing list