[Mlir-commits] [mlir] [mlir] Add support for Static Single Information types (PR #210435)
Mehdi Amini
llvmlistbot at llvm.org
Sat Jul 18 02:09:07 PDT 2026
================
@@ -252,6 +252,16 @@ template <typename ConcreteType, template <typename> class TraitType>
using TraitBase = detail::StorageUserTraitBase<ConcreteType, TraitType>;
} // namespace TypeTrait
+namespace TypeTrait {
+/// Types with this trait opt out of redundant block argument simplification
+/// during region simplification. Block arguments of these types are not
+/// eliminated when all predecessors pass the same value. Use this to preserve
+/// SSI (Static Single Information) form where block arguments carry semantic
+/// meaning beyond their SSA def-use structure.
----------------
joker-eph wrote:
An SSA value carrying "meaning beyond their SSA def-use structure" does not seem to me like something MLIR is modeling. I'm not totally comfortable introducing such a notion here: I suspect this may have further ramifications in the system beyond the one instance in `dropRedundantArguments`.
https://github.com/llvm/llvm-project/pull/210435
More information about the Mlir-commits
mailing list