================ @@ -286,16 +286,28 @@ class OpenACCClauseCIREmitter final std::move(bounds)}; } + mlir::acc::DataClauseModifier + convertModifiers(OpenACCModifierKind modifiers) { + using namespace mlir::acc; + DataClauseModifier mlirModifiers{}; + + // The MLIR representation of this represents `always` as `alwaysin` + + // `alwaysout`. So do a small fixup here. + if (isOpenACCModifierBitSet(modifiers, OpenACCModifierKind::Always)) { ---------------- erichkeane wrote:
Unfortunately not on the using the same type. The FE and the MLIR have different needs when it comes to tracking `always`. CFE needs to differentiate `always` from someone typing `alwaysin` and `alwaysout` for diagnostics purposes. The MLIR passes need `always`->`alwaysin|alwaysout` to ensure they don't miss opt. The static assert however is a great idea! https://github.com/llvm/llvm-project/pull/145770 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits