|
11 | 11 | //===----------------------------------------------------------------------===// |
12 | 12 |
|
13 | 13 | #include "CIRGenFunction.h" |
14 | | -#include "clang/AST/DeclOpenACC.h" |
15 | 14 | #include "mlir/Dialect/OpenACC/OpenACC.h" |
| 15 | +#include "clang/AST/DeclOpenACC.h" |
16 | 16 |
|
17 | 17 | using namespace clang; |
18 | 18 | using namespace clang::CIRGen; |
19 | 19 |
|
20 | 20 | namespace { |
21 | | - struct OpenACCDeclareCleanup final : EHScopeStack::Cleanup { |
22 | | - mlir::acc::DeclareEnterOp enterOp; |
23 | | - |
24 | | - OpenACCDeclareCleanup(mlir::acc::DeclareEnterOp enterOp) |
25 | | - : enterOp(enterOp) {} |
| 21 | +struct OpenACCDeclareCleanup final : EHScopeStack::Cleanup { |
| 22 | + mlir::acc::DeclareEnterOp enterOp; |
26 | 23 |
|
27 | | - void emit(CIRGenFunction &cgf) override { |
28 | | - mlir::acc::DeclareExitOp::create(cgf.getBuilder(), enterOp.getLoc(), |
29 | | - enterOp, {}); |
| 24 | + OpenACCDeclareCleanup(mlir::acc::DeclareEnterOp enterOp) : enterOp(enterOp) {} |
30 | 25 |
|
31 | | - // TODO(OpenACC): Some clauses require that we add info about them to the |
32 | | - // DeclareExitOp. However, we don't have any of those implemented yet, so |
33 | | - // we should add infrastructure here to do that once we have one |
34 | | - // implemented. |
35 | | - } |
| 26 | + void emit(CIRGenFunction &cgf) override { |
| 27 | + mlir::acc::DeclareExitOp::create(cgf.getBuilder(), enterOp.getLoc(), |
| 28 | + enterOp, {}); |
36 | 29 |
|
37 | | - }; |
| 30 | + // TODO(OpenACC): Some clauses require that we add info about them to the |
| 31 | + // DeclareExitOp. However, we don't have any of those implemented yet, so |
| 32 | + // we should add infrastructure here to do that once we have one |
| 33 | + // implemented. |
| 34 | + } |
| 35 | +}; |
38 | 36 | } // namespace |
39 | 37 |
|
40 | 38 | void CIRGenFunction::emitOpenACCDeclare(const OpenACCDeclareDecl &d) { |
41 | 39 | mlir::Location exprLoc = cgm.getLoc(d.getBeginLoc()); |
42 | 40 | auto enterOp = mlir::acc::DeclareEnterOp::create( |
43 | | - builder, exprLoc, |
44 | | - mlir::acc::DeclareTokenType::get(&cgm.getMLIRContext()), {}); |
| 41 | + builder, exprLoc, mlir::acc::DeclareTokenType::get(&cgm.getMLIRContext()), |
| 42 | + {}); |
45 | 43 |
|
46 | 44 | emitOpenACCClauses(enterOp, OpenACCDirectiveKind::Declare, d.getBeginLoc(), |
47 | 45 | d.clauses()); |
|
0 commit comments