[Openmp-commits] [PATCH] D49036: [OPENMP, NVPTX] Support several images in the executable.
Alexey Bataev via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Mon Jul 9 10:52:04 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL336569: [OPENMP, NVPTX] Support several images in the executable. (authored by ABataev, committed by ).
Herald added a subscriber: llvm-commits.
Repository:
rL LLVM
https://reviews.llvm.org/D49036
Files:
openmp/trunk/libomptarget/plugins/cuda/src/rtl.cpp
Index: openmp/trunk/libomptarget/plugins/cuda/src/rtl.cpp
===================================================================
--- openmp/trunk/libomptarget/plugins/cuda/src/rtl.cpp
+++ openmp/trunk/libomptarget/plugins/cuda/src/rtl.cpp
@@ -92,7 +92,7 @@
/// Class containing all the device information.
class RTLDeviceInfoTy {
- std::vector<FuncOrGblEntryTy> FuncGblEntries;
+ std::vector<std::list<FuncOrGblEntryTy>> FuncGblEntries;
public:
int NumberOfDevices;
@@ -122,16 +122,16 @@
void addOffloadEntry(int32_t device_id, __tgt_offload_entry entry) {
assert(device_id < (int32_t)FuncGblEntries.size() &&
"Unexpected device id!");
- FuncOrGblEntryTy &E = FuncGblEntries[device_id];
+ FuncOrGblEntryTy &E = FuncGblEntries[device_id].back();
E.Entries.push_back(entry);
}
// Return true if the entry is associated with device
bool findOffloadEntry(int32_t device_id, void *addr) {
assert(device_id < (int32_t)FuncGblEntries.size() &&
"Unexpected device id!");
- FuncOrGblEntryTy &E = FuncGblEntries[device_id];
+ FuncOrGblEntryTy &E = FuncGblEntries[device_id].back();
for (auto &it : E.Entries) {
if (it.addr == addr)
@@ -145,7 +145,7 @@
__tgt_target_table *getOffloadEntriesTable(int32_t device_id) {
assert(device_id < (int32_t)FuncGblEntries.size() &&
"Unexpected device id!");
- FuncOrGblEntryTy &E = FuncGblEntries[device_id];
+ FuncOrGblEntryTy &E = FuncGblEntries[device_id].back();
int32_t size = E.Entries.size();
@@ -167,7 +167,8 @@
void clearOffloadEntriesTable(int32_t device_id) {
assert(device_id < (int32_t)FuncGblEntries.size() &&
"Unexpected device id!");
- FuncOrGblEntryTy &E = FuncGblEntries[device_id];
+ FuncGblEntries[device_id].emplace_back();
+ FuncOrGblEntryTy &E = FuncGblEntries[device_id].back();
E.Entries.clear();
E.Table.EntriesBegin = E.Table.EntriesEnd = 0;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49036.154643.patch
Type: text/x-patch
Size: 1965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20180709/7d4f9189/attachment.bin>
More information about the Openmp-commits
mailing list