Skip to content

Commit 580860e

Browse files
authored
[OpenMP][NFC] Clean up a bunch of warnings and clang-tidy messages (#159831)
Summary: I made the GPU flags accept more of the default LLVM warnings, which triggered some new cases. Clean those up and fix some other ones while I'm at it.
1 parent b28d2ea commit 580860e

File tree

6 files changed

+33
-32
lines changed

6 files changed

+33
-32
lines changed

offload/plugins-nextgen/amdgpu/src/rtl.cpp

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ namespace hsa_utils {
9999
/// Iterate elements using an HSA iterate function. Do not use this function
100100
/// directly but the specialized ones below instead.
101101
template <typename ElemTy, typename IterFuncTy, typename CallbackTy>
102-
hsa_status_t iterate(IterFuncTy Func, CallbackTy Cb) {
102+
static hsa_status_t iterate(IterFuncTy Func, CallbackTy Cb) {
103103
auto L = [](ElemTy Elem, void *Data) -> hsa_status_t {
104104
CallbackTy *Unwrapped = static_cast<CallbackTy *>(Data);
105105
return (*Unwrapped)(Elem);
@@ -111,7 +111,8 @@ hsa_status_t iterate(IterFuncTy Func, CallbackTy Cb) {
111111
/// use this function directly but the specialized ones below instead.
112112
template <typename ElemTy, typename IterFuncTy, typename IterFuncArgTy,
113113
typename CallbackTy>
114-
hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg, CallbackTy Cb) {
114+
static hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg,
115+
CallbackTy Cb) {
115116
auto L = [](ElemTy Elem, void *Data) -> hsa_status_t {
116117
CallbackTy *Unwrapped = static_cast<CallbackTy *>(Data);
117118
return (*Unwrapped)(Elem);
@@ -123,7 +124,8 @@ hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg, CallbackTy Cb) {
123124
/// use this function directly but the specialized ones below instead.
124125
template <typename Elem1Ty, typename Elem2Ty, typename IterFuncTy,
125126
typename IterFuncArgTy, typename CallbackTy>
126-
hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg, CallbackTy Cb) {
127+
static hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg,
128+
CallbackTy Cb) {
127129
auto L = [](Elem1Ty Elem1, Elem2Ty Elem2, void *Data) -> hsa_status_t {
128130
CallbackTy *Unwrapped = static_cast<CallbackTy *>(Data);
129131
return (*Unwrapped)(Elem1, Elem2);
@@ -132,21 +134,21 @@ hsa_status_t iterate(IterFuncTy Func, IterFuncArgTy FuncArg, CallbackTy Cb) {
132134
}
133135

134136
/// Iterate agents.
135-
template <typename CallbackTy> Error iterateAgents(CallbackTy Callback) {
137+
template <typename CallbackTy> static Error iterateAgents(CallbackTy Callback) {
136138
hsa_status_t Status = iterate<hsa_agent_t>(hsa_iterate_agents, Callback);
137139
return Plugin::check(Status, "error in hsa_iterate_agents: %s");
138140
}
139141

140142
/// Iterate ISAs of an agent.
141143
template <typename CallbackTy>
142-
Error iterateAgentISAs(hsa_agent_t Agent, CallbackTy Cb) {
144+
static Error iterateAgentISAs(hsa_agent_t Agent, CallbackTy Cb) {
143145
hsa_status_t Status = iterate<hsa_isa_t>(hsa_agent_iterate_isas, Agent, Cb);
144146
return Plugin::check(Status, "error in hsa_agent_iterate_isas: %s");
145147
}
146148

147149
/// Iterate memory pools of an agent.
148150
template <typename CallbackTy>
149-
Error iterateAgentMemoryPools(hsa_agent_t Agent, CallbackTy Cb) {
151+
static Error iterateAgentMemoryPools(hsa_agent_t Agent, CallbackTy Cb) {
150152
hsa_status_t Status = iterate<hsa_amd_memory_pool_t>(
151153
hsa_amd_agent_iterate_memory_pools, Agent, Cb);
152154
return Plugin::check(Status,
@@ -155,10 +157,12 @@ Error iterateAgentMemoryPools(hsa_agent_t Agent, CallbackTy Cb) {
155157

156158
/// Dispatches an asynchronous memory copy.
157159
/// Enables different SDMA engines for the dispatch in a round-robin fashion.
158-
Error asyncMemCopy(bool UseMultipleSdmaEngines, void *Dst, hsa_agent_t DstAgent,
159-
const void *Src, hsa_agent_t SrcAgent, size_t Size,
160-
uint32_t NumDepSignals, const hsa_signal_t *DepSignals,
161-
hsa_signal_t CompletionSignal) {
160+
static Error asyncMemCopy(bool UseMultipleSdmaEngines, void *Dst,
161+
hsa_agent_t DstAgent, const void *Src,
162+
hsa_agent_t SrcAgent, size_t Size,
163+
uint32_t NumDepSignals,
164+
const hsa_signal_t *DepSignals,
165+
hsa_signal_t CompletionSignal) {
162166
if (!UseMultipleSdmaEngines) {
163167
hsa_status_t S =
164168
hsa_amd_memory_async_copy(Dst, DstAgent, Src, SrcAgent, Size,
@@ -193,8 +197,8 @@ Error asyncMemCopy(bool UseMultipleSdmaEngines, void *Dst, hsa_agent_t DstAgent,
193197
#endif
194198
}
195199

196-
Error getTargetTripleAndFeatures(hsa_agent_t Agent,
197-
SmallVector<SmallString<32>> &Targets) {
200+
static Error getTargetTripleAndFeatures(hsa_agent_t Agent,
201+
SmallVector<SmallString<32>> &Targets) {
198202
auto Err = hsa_utils::iterateAgentISAs(Agent, [&](hsa_isa_t ISA) {
199203
uint32_t Length;
200204
hsa_status_t Status;
@@ -1222,7 +1226,7 @@ struct AMDGPUStreamTy {
12221226
assert(Args->Dst && "Invalid destination buffer");
12231227
assert(Args->Src && "Invalid source buffer");
12241228

1225-
auto BasePtr = Args->Dst;
1229+
auto *BasePtr = Args->Dst;
12261230
for (size_t I = 0; I < Args->NumTimes; I++) {
12271231
std::memcpy(BasePtr, Args->Src, Args->Size);
12281232
BasePtr = reinterpret_cast<uint8_t *>(BasePtr) + Args->Size;
@@ -2673,11 +2677,10 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
26732677
// hsa_amd_memory_fill doesn't signal completion using a signal, so use
26742678
// the existing host callback logic to handle that instead
26752679
return Stream->pushHostCallback(Fill, Args);
2676-
} else {
2677-
// If there is no pending work, do the fill synchronously
2678-
auto Status = hsa_amd_memory_fill(TgtPtr, Pattern, Size / 4);
2679-
return Plugin::check(Status, "error in hsa_amd_memory_fill: %s\n");
26802680
}
2681+
// If there is no pending work, do the fill synchronously
2682+
auto Status = hsa_amd_memory_fill(TgtPtr, Pattern, Size / 4);
2683+
return Plugin::check(Status, "error in hsa_amd_memory_fill: %s\n");
26812684
}
26822685

26832686
// Slow case; allocate an appropriate memory size and enqueue copies
@@ -2759,7 +2762,7 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
27592762
}
27602763

27612764
Expected<bool> hasPendingWorkImpl(AsyncInfoWrapperTy &AsyncInfo) override {
2762-
auto Stream = AsyncInfo.getQueueAs<AMDGPUStreamTy *>();
2765+
auto *Stream = AsyncInfo.getQueueAs<AMDGPUStreamTy *>();
27632766
if (!Stream)
27642767
return false;
27652768

@@ -2772,7 +2775,7 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
27722775
Expected<bool> isEventCompleteImpl(void *EventPtr,
27732776
AsyncInfoWrapperTy &AsyncInfo) override {
27742777
AMDGPUEventTy *Event = reinterpret_cast<AMDGPUEventTy *>(EventPtr);
2775-
auto Stream = AsyncInfo.getQueueAs<AMDGPUStreamTy *>();
2778+
auto *Stream = AsyncInfo.getQueueAs<AMDGPUStreamTy *>();
27762779
return Stream && Stream->isEventComplete(*Event);
27772780
}
27782781

@@ -2829,7 +2832,7 @@ struct AMDGPUDeviceTy : public GenericDeviceTy, AMDGenericDeviceTy {
28292832
hsa_device_type_t DevType;
28302833
Status = getDeviceAttrRaw(HSA_AGENT_INFO_DEVICE, DevType);
28312834
if (Status == HSA_STATUS_SUCCESS) {
2832-
switch (DevType) {
2835+
switch (static_cast<int>(DevType)) {
28332836
case HSA_DEVICE_TYPE_CPU:
28342837
TmpCharPtr = "CPU";
28352838
break;
@@ -3746,8 +3749,8 @@ Error AMDGPUKernelTy::printLaunchInfoDetails(GenericDeviceTy &GenericDevice,
37463749
return Plugin::success();
37473750

37483751
// General Info
3749-
auto NumGroups = NumBlocks;
3750-
auto ThreadsPerGroup = NumThreads;
3752+
auto *NumGroups = NumBlocks;
3753+
auto *ThreadsPerGroup = NumThreads;
37513754

37523755
// Kernel Arguments Info
37533756
auto ArgNum = KernelArgs.NumArgs;

offload/plugins-nextgen/cuda/src/rtl.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,15 @@ struct CUDAKernelTy : public GenericKernelTy {
160160
/// Return maximum block size for maximum occupancy
161161
Expected<uint64_t> maxGroupSize(GenericDeviceTy &,
162162
uint64_t DynamicMemSize) const override {
163-
int minGridSize;
164-
int maxBlockSize;
163+
int MinGridSize;
164+
int MaxBlockSize;
165165
auto Res = cuOccupancyMaxPotentialBlockSize(
166-
&minGridSize, &maxBlockSize, Func, NULL, DynamicMemSize, INT_MAX);
166+
&MinGridSize, &MaxBlockSize, Func, NULL, DynamicMemSize, INT_MAX);
167167
if (auto Err = Plugin::check(
168168
Res, "error in cuOccupancyMaxPotentialBlockSize: %s")) {
169169
return Err;
170170
}
171-
return maxBlockSize;
171+
return MaxBlockSize;
172172
}
173173

174174
private:

openmp/device/include/State.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,8 @@ template <typename VTy, typename Ty> struct ValueRAII {
327327
Ty Val;
328328
bool Active;
329329
};
330+
template <typename VTy, typename Ty>
331+
ValueRAII(VTy &, Ty, Ty, bool, IdentTy *, bool) -> ValueRAII<VTy, Ty>;
330332

331333
/// TODO
332334
inline state::Value<uint32_t, state::VK_RunSchedChunk> RunSchedChunk;

openmp/device/src/Misc.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace impl {
2323
/// Lookup a device-side function using a host pointer /p HstPtr using the table
2424
/// provided by the device plugin. The table is an ordered pair of host and
2525
/// device pointers sorted on the value of the host pointer.
26-
void *indirectCallLookup(void *HstPtr) {
26+
static void *indirectCallLookup(void *HstPtr) {
2727
if (!HstPtr)
2828
return nullptr;
2929

@@ -114,6 +114,7 @@ void omp_free(void *ptr, omp_allocator_handle_t allocator) {
114114
case omp_high_bw_mem_alloc:
115115
case omp_low_lat_mem_alloc:
116116
free(ptr);
117+
return;
117118
case omp_null_allocator:
118119
default:
119120
return;

openmp/device/src/Synchronization.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ uint32_t atomicInc(uint32_t *A, uint32_t V, atomic::OrderingTy Ordering,
5757
ScopeSwitch(ORDER)
5858

5959
switch (Ordering) {
60-
default:
61-
__builtin_unreachable();
6260
Case(atomic::relaxed);
6361
Case(atomic::acquire);
6462
Case(atomic::release);

openmp/tools/omptest/src/OmptAssertEvent.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ const char *omptest::to_string(ObserveState State) {
2424
return "Always";
2525
case ObserveState::Never:
2626
return "Never";
27-
default:
28-
assert(false && "Requested string representation for unknown ObserveState");
29-
return "UNKNOWN";
3027
}
3128
}
3229

0 commit comments

Comments
 (0)