-
Notifications
You must be signed in to change notification settings - Fork 10.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mlir][openacc] Add separate acc data operations for OpenACC data cla…
…uses As outlined in [1], data clauses are now implemented as separate operations from the constructs that they belong to. Some of the highlighted benefits: - Correctly represent dataflow of data operations - Easier to track debugging information - Friendlier to add attributes and to optimize operations For now, all of the other operand lists are being kept until all references to them in LLVM can be removed (such as those in flang lowering) [1] https://discourse.llvm.org/t/rfc-openacc-dialect-data-operation-improvements/69825 Reviewed By: clementval, vzakhari Differential Revision: https://reviews.llvm.org/D148389
- Loading branch information
1 parent
8350764
commit c184dcb
Showing
10 changed files
with
704 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
//===- OpenACCBase.td - OpenACC dialect definition ---------*- tablegen -*-===// | ||
// | ||
// Part of the MLIR Project, under the Apache License v2.0 with LLVM Exceptions. | ||
// See https://llvm.org/LICENSE.txt for license information. | ||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
// | ||
// ============================================================================= | ||
// | ||
// Defines MLIR OpenACC dialect. | ||
// | ||
//===----------------------------------------------------------------------===// | ||
|
||
#ifndef OPENACC_BASE | ||
#define OPENACC_BASE | ||
|
||
include "mlir/IR/AttrTypeBase.td" | ||
|
||
def OpenACC_Dialect : Dialect { | ||
let name = "acc"; | ||
|
||
let summary = "An OpenACC dialect for MLIR."; | ||
|
||
let description = [{ | ||
This dialect models the construct from the OpenACC 3.1 directive language. | ||
}]; | ||
|
||
let useDefaultAttributePrinterParser = 1; | ||
let useDefaultTypePrinterParser = 1; | ||
let cppNamespace = "::mlir::acc"; | ||
let dependentDialects = ["::mlir::memref::MemRefDialect","::mlir::LLVM::LLVMDialect"]; | ||
} | ||
|
||
#endif // OPENACC_BASE |
Oops, something went wrong.