================
@@ -22,10 +22,140 @@
#include "mlir/Dialect/OpenACC/OpenACC.h"
namespace clang::CIRGen {
+
template <typename RecipeTy> class OpenACCRecipeBuilder {
CIRGen::CIRGenFunction &cgf;
CIRGen::CIRGenBuilderTy &builder;
+ mlir::Block *createRecipeBlock(mlir::Region ®ion, mlir::Type opTy,
+ mlir::Location loc, size_t numBounds,
+ bool isInit) {
+ llvm::SmallVector<mlir::Type> types;
----------------
erichkeane wrote:
Sure, I definitely get that, this ends up being pretty big! It is mostly
inside a template, so it can't really move too far, though I can split up
helpers, but I question that value.
I actually just split all of this out of the CIRGenOpenACCClause.cpp file, as
it was part of THAT implementation, and won't be included from anywhere else.
The idea is that this was all basically the 'top' of the Clause.cpp file as it
is only used there, but would be more readable in its own file like this. It
DOES need to be included (since it is a template, thus .h).
I guess I can simplify the implementation, as much of it is not template
dependent besides a handful of decisions, and turn this recipe creator into a
much smaller file. Its probably a good idea overall anyway.... let me think
about it, and I'll do it as a followup once I come up with something.
https://github.com/llvm/llvm-project/pull/160189
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits