[all-commits] [llvm/llvm-project] 3d7f1b: [MLIR][LLVM][SROA] Make GEP handling type agnostic

Christian Ulmann via All-commits all-commits at lists.llvm.org
Tue Apr 2 05:59:18 PDT 2024


  Branch: refs/heads/users/dinistro/add-dl-endiannes-accessor
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d7f1bfd46778b4eeb42615fa6df9eb86a9f16b6
      https://github.com/llvm/llvm-project/commit/3d7f1bfd46778b4eeb42615fa6df9eb86a9f16b6
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Make GEP handling type agnostic

This commit removes SROA's type consistency constraints from LLVM
dialect's GEPOp. The checks for valid indexing are now purely done by
computing the GEP's offset with the aid of the data layout.

To simplify handling of nested "subslots", we are tricking the SROA by
handing in memory slots that hold byte array types. This ensures that
subsequent accesses only need to check if their access will be
in-bounds. This lifts the requirement of detemining the sub-types for
all but the first level of subslots.


  Commit: a20d3db5aa3634f04981956a04fee792a519341e
      https://github.com/llvm/llvm-project/commit/a20d3db5aa3634f04981956a04fee792a519341e
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-03-28 (Thu, 28 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir

  Log Message:
  -----------
  add GEP overflow support + test cleanup


  Commit: 76369676bdeab45ba54ada5892f01483888319a2
      https://github.com/llvm/llvm-project/commit/76369676bdeab45ba54ada5892f01483888319a2
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [MLIR] Add endiannes accessors to the data layout

This commit extends the data layout subsystem with accessors for the
endiannes. The implementation follows the structure implemented for
alloca, global, and programm memory spaces.


Compare: https://github.com/llvm/llvm-project/compare/3d7f1bfd4677%5E...76369676bdea

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list