[clang] [openmp] Add memory diff dump for kernel record-replay (PR #70667)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 30 08:17:38 PDT 2023
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 6a62707c048e16ce9bad37ed8e3520799139436b 153c6d812939cd23bb71e53c71378117ed5b23c7 -- openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
index 8469e8eaf159..062165112317 100644
--- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
+++ b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
@@ -93,58 +93,58 @@ private:
MemoryStart, MemorySize, nullptr);
if (Err)
report_fatal_error("Error retrieving data for target pointer");
-
- std::error_code EC;
- raw_fd_ostream OS(Filename, EC);
- if(EC)
+
+ std::error_code EC;
+ raw_fd_ostream OS(Filename, EC);
+ if (EC)
report_fatal_error("Error dumping memory to file " + Filename + " :" +
EC.message());
-
- if (saveDiff){
- //Get the pre-record memory filename
+
+ if (saveDiff) {
+ // Get the pre-record memory filename
SmallString<128> InputFilename = {Filename.split('.').first, ".memory"};
- //read the pre-record memorydump
- auto InputFileBuffer = MemoryBuffer::getFileOrSTDIN(InputFilename);
- if(std::error_code EC = InputFileBuffer.getError())
+ // read the pre-record memorydump
+ auto InputFileBuffer = MemoryBuffer::getFileOrSTDIN(InputFilename);
+ if (std::error_code EC = InputFileBuffer.getError())
report_fatal_error("Error reading pre-record device memory");
-
- StringRef InputBufferContents = (*InputFileBuffer)->getBuffer();
- if(InputBufferContents.size() != MemorySize)
+
+ StringRef InputBufferContents = (*InputFileBuffer)->getBuffer();
+ if (InputBufferContents.size() != MemorySize)
report_fatal_error("Error: Pre-record device memory size mismatch");
-
- //get current memory contents
+
+ // get current memory contents
StringRef DeviceMemoryContents(DeviceMemoryMB.get()->getBuffer().data(),
DeviceMemoryMB.get()->getBuffer().size());
-
- //compare pre-record memorydump to current contents
+
+ // compare pre-record memorydump to current contents
size_t i = 0;
- while(i < MemorySize){
- //if mismatch found, create a new diff line
- //current format - location, size, differences ...
- if(InputBufferContents[i] != DeviceMemoryContents[i]){
- OS << i << " "; //marks the start offset
- SmallVector<uint8_t, 128> modified;
+ while (i < MemorySize) {
+ // if mismatch found, create a new diff line
+ // current format - location, size, differences ...
+ if (InputBufferContents[i] != DeviceMemoryContents[i]) {
+ OS << i << " "; // marks the start offset
+ SmallVector<uint8_t, 128> modified;
modified.push_back(DeviceMemoryContents[i]);
size_t j = 1;
- //loop until next match is found
- while(InputBufferContents[i+j] != DeviceMemoryContents[i+j]){
- modified.push_back(DeviceMemoryContents[i+j]);
+ // loop until next match is found
+ while (InputBufferContents[i + j] != DeviceMemoryContents[i + j]) {
+ modified.push_back(DeviceMemoryContents[i + j]);
j++;
}
- OS << j << " "; //marks the length of the mismatching sequence
- for(const auto &value : modified)
+ OS << j << " "; // marks the length of the mismatching sequence
+ for (const auto &value : modified)
OS << value << " ";
- OS << "\n";
- i+=j+1;
- }
- else i++;
+ OS << "\n";
+ i += j + 1;
+ } else
+ i++;
}
- }
- else {
- StringRef DeviceMemory(DeviceMemoryMB.get()->getBufferStart(), MemorySize);
+ } else {
+ StringRef DeviceMemory(DeviceMemoryMB.get()->getBufferStart(),
+ MemorySize);
OS << DeviceMemory;
}
- OS.close();
+ OS.close();
}
public:
@@ -1350,7 +1350,7 @@ Error GenericDeviceTy::launchKernel(void *EntryPtr, void **ArgPtrs,
GenericKernel.getName(), GenericKernel.getImage(), ArgPtrs, ArgOffsets,
KernelArgs.NumArgs, KernelArgs.NumTeams[0], KernelArgs.ThreadLimit[0],
KernelArgs.Tripcount);
-
+
if (RecordReplay.isRecording())
RecordReplay.saveImage(GenericKernel.getName(), GenericKernel.getImage());
``````````
</details>
https://github.com/llvm/llvm-project/pull/70667
More information about the cfe-commits
mailing list