[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
Thu Mar 28 06:27:07 PDT 2024


  Branch: refs/heads/users/dinistro/more-sroa-improvements
  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.



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