[all-commits] [llvm/llvm-project] dc5f98: [GlobalISel] Port some basic undef combines from D...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Wed Mar 18 11:06:10 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: dc5f982639681625250a871e99dda1c357f78a6a
      https://github.com/llvm/llvm-project/commit/dc5f982639681625250a871e99dda1c357f78a6a
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2020-03-18 (Wed, 18 Mar 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-undef.mir

  Log Message:
  -----------
  [GlobalISel] Port some basic undef combines from DAGCombiner.cpp

This ports some combines from DAGCombiner.cpp which perform some trivial
transformations on instructions with undef operands.

Not having these can make it extremely annoying to find out where we differ
from SelectionDAG by looking at existing lit tests. Without them, we tend to
produce pretty bad code generation when we run into instructions which use
undef operands.

Also remove the nonpow2_store_narrowing testcase from arm64-fallback.ll, since
we no longer fall back on the add.

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




More information about the All-commits mailing list