[all-commits] [llvm/llvm-project] edcfb4: [DAGCombiner] Do not fold truncate(build_vector(.....

pirama-arumuga-nainar via All-commits all-commits at lists.llvm.org
Fri Mar 20 09:26:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: edcfb47ff6d5562e22207f364c65f84302aa346b
      https://github.com/llvm/llvm-project/commit/edcfb47ff6d5562e22207f364c65f84302aa346b
  Author: Pirama Arumuga Nainar <pirama at google.com>
  Date:   2020-03-20 (Fri, 20 Mar 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/dag-combine-trunc-build-vec.ll

  Log Message:
  -----------
  [DAGCombiner] Do not fold truncate(build_vector(..)) if it creates an illegal type

Summary:
It can be the case that a vector type is legal but the corresponding
scalar type is not legal for an architecture (i8 vs. v16i8 on AArch64).
Check if the scalar type created when folding
  truncate(build_vector(x,y)) -> build_vector(truncate(x),truncate(y))

is legal if we are running after the type legalizer.

This fixes https://github.com/android/ndk/issues/1207.

Reviewers: RKSimon, srhines

Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list