Skip to content

Commit 3499c15

Browse files
committed
R3: Addressing review comments
1 parent 52c04c7 commit 3499c15

File tree

6 files changed

+17
-17
lines changed

6 files changed

+17
-17
lines changed

flang/include/flang/Frontend/TargetOptions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class TargetOptions {
5454
/// Print verbose assembly
5555
bool asmVerbose = false;
5656

57-
/// Atomic Control Options for AMD GPU
57+
/// Atomic control options for AMD gpu
5858
bool amdgpuIgnoreDenormalMode = false;
5959
bool amdgpuRemoteMemory = false;
6060
bool amdgpuFineGrainedMemory = false;

flang/include/flang/Optimizer/Dialect/Support/FIRContext.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ void setTargetCPU(mlir::ModuleOp mod, llvm::StringRef cpu);
5858
/// Get the target CPU string from the Module or return a null reference.
5959
llvm::StringRef getTargetCPU(mlir::ModuleOp mod);
6060

61-
// Setters and Getters for atomic control options
61+
// Setters and getters for atomic control options.
6262
void setAmdgpuIgnoreDenormalMode(mlir::ModuleOp mod);
6363
bool getAmdgpuIgnoreDenormalMode(mlir::ModuleOp mod);
6464
void setAmdgpuFineGrainedMemory(mlir::ModuleOp mod);
@@ -70,7 +70,7 @@ bool getAmdgpuRemoteMemory(mlir::ModuleOp mod);
7070
/// module `mod` is still live.
7171
void setTuneCPU(mlir::ModuleOp mod, llvm::StringRef cpu);
7272

73-
// set Atomic control options for amd gpu.
73+
// set atomic control options for AMD gpu.
7474
void setAmdgpuAtomicControlOptions(mlir::ModuleOp mod,
7575
bool amdgpuIgnoreDenormalMode,
7676
bool amdgpuNoFineGrainedMemory,

flang/lib/Lower/OpenMP/OpenMP.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2851,13 +2851,14 @@ genAtomicUpdate(lower::AbstractConverter &converter, mlir::Location loc,
28512851
}
28522852

28532853
mlir::ModuleOp module = builder.getModule();
2854-
mlir::omp::AtomicControlAttr atomicControlAttr = mlir::omp::AtomicControlAttr::get(
2855-
builder.getContext(), fir::getAmdgpuIgnoreDenormalMode(module),
2856-
fir::getAmdgpuFineGrainedMemory(module),
2857-
fir::getAmdgpuRemoteMemory(module));
2854+
mlir::omp::AtomicControlAttr atomicControlAttr =
2855+
mlir::omp::AtomicControlAttr::get(
2856+
builder.getContext(), fir::getAmdgpuIgnoreDenormalMode(module),
2857+
fir::getAmdgpuFineGrainedMemory(module),
2858+
fir::getAmdgpuRemoteMemory(module));
28582859
builder.restoreInsertionPoint(atomicAt);
2859-
auto updateOp =
2860-
builder.create<mlir::omp::AtomicUpdateOp>(loc, atomAddr, atomicControlAttr, hint, memOrder);
2860+
auto updateOp = builder.create<mlir::omp::AtomicUpdateOp>(
2861+
loc, atomAddr, atomicControlAttr, hint, memOrder);
28612862

28622863
mlir::Region &region = updateOp->getRegion(0);
28632864
mlir::Block *block = builder.createBlock(&region, {}, {atomType}, {loc});

flang/lib/Optimizer/Dialect/Support/FIRContext.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@ void fir::setAmdgpuIgnoreDenormalMode(mlir::ModuleOp mod) {
9696
}
9797

9898
bool fir::getAmdgpuIgnoreDenormalMode(mlir::ModuleOp mod) {
99-
if (auto attr =
100-
mod->getAttrOfType<mlir::UnitAttr>(amdgpuIgnoreDenormalModeName))
99+
if (mod->hasAttrOfType<mlir::UnitAttr>(amdgpuIgnoreDenormalModeName))
101100
return true;
102101
return false;
103102
}
@@ -110,8 +109,7 @@ void fir::setAmdgpuFineGrainedMemory(mlir::ModuleOp mod) {
110109
}
111110

112111
bool fir::getAmdgpuFineGrainedMemory(mlir::ModuleOp mod) {
113-
if (auto attr =
114-
mod->getAttrOfType<mlir::UnitAttr>(amdgpuFineGrainedMemoryName))
112+
if (mod->hasAttrOfType<mlir::UnitAttr>(amdgpuFineGrainedMemoryName))
115113
return true;
116114
return false;
117115
}
@@ -123,7 +121,7 @@ void fir::setAmdgpuRemoteMemory(mlir::ModuleOp mod) {
123121
}
124122

125123
bool fir::getAmdgpuRemoteMemory(mlir::ModuleOp mod) {
126-
if (auto attr = mod->getAttrOfType<mlir::UnitAttr>(amdgpuRemoteMemoryName))
124+
if (mod->hasAttrOfType<mlir::UnitAttr>(amdgpuRemoteMemoryName))
127125
return true;
128126
return false;
129127
}

flang/test/Fir/convert-to-llvm-openmp-and-fir.fir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ func.func @_QPs() {
619619
%c1_i32 = arith.constant 1 : i32
620620
%1 = arith.addi %arg0, %c1_i32 : i32
621621
omp.yield(%1 : i32)
622-
}
622+
} {atomic_control = #omp.atomic_control<>}
623623
return
624624
}
625625
fir.global internal @_QFsEc : i32 {
@@ -634,7 +634,7 @@ fir.global internal @_QFsEc : i32 {
634634
// CHECK: %[[CONST_1:.*]] = llvm.mlir.constant(1 : i32) : i32
635635
// CHECK: %[[OUT_VAL:.*]] = llvm.add %[[IN_VAL]], %[[CONST_1]] : i32
636636
// CHECK: omp.yield(%[[OUT_VAL]] : i32)
637-
// CHECK: }
637+
// CHECK: } {atomic_control = #omp.atomic_control<>}
638638
// CHECK: llvm.return
639639
// CHECK: }
640640
// CHECK: llvm.mlir.global internal @[[GLOBAL]]() {{.*}} : i32 {

mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ def FlagsAttr : OpenMP_Attr<"Flags", "flags"> {
5858
// AtomicControlAttr
5959
//===----------------------------------------------------------------------===//
6060

61-
// Runtime library flags attribute that holds information for lowering to LLVM.
61+
// Atomic control attributes holds information about architectural
62+
// characteristics that are required for lowering of atomic operations.
6263
def AtomicControlAttr : OpenMP_Attr<"AtomicControl", "atomic_control"> {
6364
let parameters =
6465
(ins DefaultValuedParameter<"bool", "false">:$amdgpu_ignore_denormal_mode,

0 commit comments

Comments
 (0)