We are currently in the process of modeling some of the OpenACC dialect operations and some of the construct in OpenACC have an if
clause.
This if
condition can be modeled directly on the operation with an optional operand.
acc.enter_data create(%a : memref<10x10xf32>) if(%ifCond : i1)
Or it could be handled directly by the frontend when it creates the operation and wrap it in a scf.if
scf.if %ifCond {
acc.enter_data create(%a : memref<10x10xf32>)
}
Are there any recommendations on which solution to choose from? Any guidelines?