[all-commits] [llvm/llvm-project] 2171f3: [MLIR][LLVM] Remove the type consistency pass (#93...

Christian Ulmann via All-commits all-commits at lists.llvm.org
Fri May 24 04:22:51 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2171f34121759a1495a6de840bcb92982d1b7a64
      https://github.com/llvm/llvm-project/commit/2171f34121759a1495a6de840bcb92982d1b7a64
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    R mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    R mlir/test/Dialect/LLVMIR/type-consistency.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Remove the type consistency pass (#93283)

This commit removes the LLVM dialect's type consistency pass. This pass
was originally introduced to make type information on memory operations
consistent. The main benefactor of this consistency where Mem2Reg and
SROA, which were in the meantime improved to no longer require
consistent type information.

Apart from providing a no longer required functionality, the pass had
some fundamental flaws that lead to issues:
* It introduced trivial GEPs (only zero indices) that could be folded
again.
* Aggressively splitting stores lead to substantial performance
regressions in some cases. Subsequent memory coalescing were not able to
recover this information, due to using non-trivial bit-fiddling.



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