[all-commits] [llvm/llvm-project] 63d22f: [MLIR][LLVM][SROA] Make GEP handling type agnostic...

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


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 63d22f7a5b6afc515799f67c388bf5a8864274e4
      https://github.com/llvm/llvm-project/commit/63d22f7a5b6afc515799f67c388bf5a8864274e4
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-02 (Tue, 02 Apr 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 (#86950)

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 determining 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