-
Notifications
You must be signed in to change notification settings - Fork 13.4k
[mlir][openacc][NFC] Remove useless OptionalAttr with UnitAttr #68337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-mlir @llvm/pr-subscribers-openacc Changes
Full diff: https://github.com/llvm/llvm-project/pull/68337.diff 2 Files Affected:
diff --git a/flang/lib/Lower/OpenACC.cpp b/flang/lib/Lower/OpenACC.cpp
index 84ce4cde94200f9..9670cc01b593b7e 100644
--- a/flang/lib/Lower/OpenACC.cpp
+++ b/flang/lib/Lower/OpenACC.cpp
@@ -2981,9 +2981,8 @@ genACC(Fortran::lower::AbstractConverter &converter,
std::stringstream routineOpName;
routineOpName << accRoutinePrefix.str() << routineCounter++;
auto routineOp = modBuilder.create<mlir::acc::RoutineOp>(
- loc, routineOpName.str(), funcName, mlir::StringAttr{}, mlir::UnitAttr{},
- mlir::UnitAttr{}, mlir::UnitAttr{}, mlir::UnitAttr{}, mlir::UnitAttr{},
- mlir::UnitAttr{}, mlir::IntegerAttr{});
+ loc, routineOpName.str(), funcName, mlir::StringAttr{}, false, false,
+ false, false, false, false, mlir::IntegerAttr{});
for (const Fortran::parser::AccClause &clause : clauses.v) {
if (std::get_if<Fortran::parser::AccClause::Seq>(&clause.u)) {
diff --git a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
index ce1b4e29cd51b9b..60156cc334c72ec 100644
--- a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+++ b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
@@ -1563,12 +1563,12 @@ def OpenACC_RoutineOp : OpenACC_Op<"routine", [IsolatedFromAbove]> {
let arguments = (ins SymbolNameAttr:$sym_name,
SymbolNameAttr:$func_name,
OptionalAttr<StrAttr>:$bind_name,
- OptionalAttr<UnitAttr>:$gang,
- OptionalAttr<UnitAttr>:$worker,
- OptionalAttr<UnitAttr>:$vector,
- OptionalAttr<UnitAttr>:$seq,
- OptionalAttr<UnitAttr>:$nohost,
- OptionalAttr<UnitAttr>:$implicit,
+ UnitAttr:$gang,
+ UnitAttr:$worker,
+ UnitAttr:$vector,
+ UnitAttr:$seq,
+ UnitAttr:$nohost,
+ UnitAttr:$implicit,
OptionalAttr<APIntAttr>:$gangDim);
let extraClassDeclaration = [{
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
loc, routineOpName.str(), funcName, mlir::StringAttr{}, false, false, | ||
false, false, false, false, mlir::IntegerAttr{}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit as I'm driving by.
We should "name" non-variable arguments, such as:
loc, routineOpName.str(), funcName, /*bind_name=*/mlir::StringAttr{}, /*gang=*/false,
/*worker=*/false, /*vector=*/false, /*seq=*/false, /*nohost=*/false,
/*implicit=*/false, /*gangDim*/mlir::IntegerAttr{});
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I have a follow up patch that will update the operation creation.
Local branch amd-gfx 5c22358 Merged main:918829959f96 into amd-gfx:7ce30e5343ec Remote branch main 4f98fb2 [mlir][openacc][NFC] Remove useless OptionalAttr with UnitAttr (llvm#68337)
UnitAttr
exits or not so addingOptionalAttr
around it is not necessary. This patch cleanup this for theRoutineOp