[all-commits] [llvm/llvm-project] 59588f: [SVE][ISel] Ensure explicit gather/scatter offset ...

paulwalker-arm via All-commits all-commits at lists.llvm.org
Fri Apr 29 06:24:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 59588f0a3d47e3e366d675b8f9724c10a6222c0e
      https://github.com/llvm/llvm-project/commit/59588f0a3d47e3e366d675b8f9724c10a6222c0e
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2022-04-29 (Fri, 29 Apr 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll

  Log Message:
  -----------
  [SVE][ISel] Ensure explicit gather/scatter offset extension isn't lost.

getGatherScatterIndexIsExtended currently looks through all
SIGN_EXTEND_INREG operations regardless of their input type.  This
patch restricts the code to only look through i32->i64 extensions,
which are the ones supported implicitly by SVE addressing modes.

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


  Commit: 23c509754d4b81e5503f8da5caa3d4c00af85afb
      https://github.com/llvm/llvm-project/commit/23c509754d4b81e5503f8da5caa3d4c00af85afb
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2022-04-29 (Fri, 29 Apr 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll

  Log Message:
  -----------
  [DAGCombiner] Stop invalid sign conversion in refineIndexType.

When looking through extends of gather/scatter indices it's safe
to convert a known positive signed index to unsigned, but unsigned
indices must remain unsigned.

Depends On D123318

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


Compare: https://github.com/llvm/llvm-project/compare/c5e5b54350fe...23c509754d4b


More information about the All-commits mailing list