thanks for your answer.
The llvm.func operation operates on the LLVM type system and is suitable to model the abstraction that models LLVM IR.
MLIR supports other kind of model and the func.func
operation is a very generic operation that can be used in many context.
In general though, it is suitable for specific cases to implement your own func
operation that will enforce the local invariants.
1 Like