[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