[all-commits] [llvm/llvm-project] e52acb: GlobalISel: Add shifts to constant_fold combine

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Aug 24 05:10:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e52acb817d87a98ae6a2af675be2084160c18db4
      https://github.com/llvm/llvm-project/commit/e52acb817d87a98ae6a2af675be2084160c18db4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-24 (Thu, 24 Aug 2023)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/funnel-shift.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-ashr.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-lshr.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-shl.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll

  Log Message:
  -----------
  GlobalISel: Add shifts to constant_fold combine

Currently we're getting away with post-selection constant folding on
these (a hack which exists for the DAG).

https://reviews.llvm.org/D156534


  Commit: d86a7d631c32341fd86fa5ecd247957cdb2c58d1
      https://github.com/llvm/llvm-project/commit/d86a7d631c32341fd86fa5ecd247957cdb2c58d1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-08-24 (Thu, 24 Aug 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-binop-same-val.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-br.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-bzero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-copy-prop-disabled.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-prop-extends-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-ptradd-chain.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
    M llvm/test/CodeGen/AArch64/bool-ext-inc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-imm-chain-illegal-types.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.prelegal.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-ashr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-lshr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-shl.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll

  Log Message:
  -----------
  GlobalISel: Add constant fold combine for zext/sext/anyext

Could use more work for vectors.

https://reviews.llvm.org/D156534


Compare: https://github.com/llvm/llvm-project/compare/0ec9ccb39e2e...d86a7d631c32


More information about the All-commits mailing list