[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