To summarize the discussion in this and the index RFC thread, I think we are converging towards the following:
-
Arith needs better defined semantics. These should be separate from LLVM to allow future design freedom on both sides, but LLVM seems like a good reference / starting point for most ops.
-
To use the LLVM semantics, we need
poison/freezeops. Because this seems more broadly useful, we can put them in a new core-ish dialect, sayundefined.- A dedicated RFC is necessary to cover this in detail.
-
indexsupport needs to move to a separate dialect.- This is partially covered by the
indexdialect RFC (it does not address the removal ofindexsupport fromarith).
- This is partially covered by the
-
tensorsupport needs to move out ofarithas well:- A dedicated RFC is necessary to cover this in detail.
-
n-D
vectorsupport may need to move out ofarithas well:- This seems the least clear at this point.