[Mlir-commits] [flang] [mlir] [flang] Added OperationMoveOpInterface for controlling LICM. (PR #175108)
Razvan Lupusoru
llvmlistbot at llvm.org
Fri Jan 9 10:25:42 PST 2026
razvanlupusoru wrote:
I'm in favor of this interface - and would indeed like to see it in core MLIR. It provides a principled way to express legality constraints on code motion across specific ops, which avoids baking dialect-specific checks into individual transforms (eg. Flang's LICM).
This is important for OpenACC offload: scoping of private variables is semantically meaningful, and moving operations across those boundaries can change lifetimes/allocations and thus the storage class.
Separately, having an explicit motion-control hook also supports better hoisting heuristics. Even when a motion is legal, on GPUs it is sometimes preferable to keep per-thread work "redundant" rather than hoist and introduce cross-thread communication or synchronization.
https://github.com/llvm/llvm-project/pull/175108
More information about the Mlir-commits
mailing list