[all-commits] [llvm/llvm-project] 480a10: [MLIR][LLVM] Remove the type consistency pass
Christian Ulmann via All-commits
all-commits at lists.llvm.org
Fri May 24 02:27:34 PDT 2024
Branch: refs/heads/users/dinistro/remove-type-consistency-pass
Home: https://github.com/llvm/llvm-project
Commit: 480a10c4c8a9568473936062271e9e49f27d2061
https://github.com/llvm/llvm-project/commit/480a10c4c8a9568473936062271e9e49f27d2061
Author: Christian Ulmann <christian.ulmann at nextsilicon.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
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 consitent
type information.
Appart 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 fold be
folded again.
* Aggressively splitting stores lead to substantial performance
regressions in some cases. Subsequent memory coalescings 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