[clang] [OpenAC][CIR] func-local-declare 'copy' clause lowering (PR #169115)
Bruno Cardoso Lopes via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 21 16:04:35 PST 2025
================
@@ -19,18 +19,52 @@ using namespace clang::CIRGen;
namespace {
struct OpenACCDeclareCleanup final : EHScopeStack::Cleanup {
+ SourceRange declareRange;
mlir::acc::DeclareEnterOp enterOp;
- OpenACCDeclareCleanup(mlir::acc::DeclareEnterOp enterOp) : enterOp(enterOp) {}
+ OpenACCDeclareCleanup(SourceRange declareRange,
+ mlir::acc::DeclareEnterOp enterOp)
+ : declareRange(declareRange), enterOp(enterOp) {}
+
+ template <typename OutTy, typename InTy>
+ void createOutOp(CIRGenFunction &cgf, InTy inOp) {
+ auto outOp =
+ OutTy::create(cgf.getBuilder(), inOp.getLoc(), inOp, inOp.getVarPtr(),
+ inOp.getStructured(), inOp.getImplicit(),
+ inOp.getName() ? *inOp.getName() : "", inOp.getBounds());
----------------
bcardosolopes wrote:
Is `inOp.getName()` a StringAttr? If so `Twine(inOp.getName()` could be more readable here?
https://github.com/llvm/llvm-project/pull/169115
More information about the cfe-commits
mailing list