[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.
Please register or sign in to comment