[PATCH] D106891: [AMDGPU] [Remarks] Emit optimization remarks for FP atomics

Stanislav Mekhanoshin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 11 15:19:40 PDT 2021


rampitec added a comment.

In D106891#2940411 <https://reviews.llvm.org/D106891#2940411>, @gandhi21299 wrote:

> - eliminated unsafe hardware remarks in SIISelLowering.cpp

Most of this patch is not needed now. You do not need to pass ORE to targets, it is a part of the next patch.



================
Comment at: clang/test/CodeGenCUDA/fp-atomics-optremarks.cu:10
+
+// GFX90A-CAS: A compare and swap loop was generated for an atomic operation at system memory scope
+// GFX90A-CAS-LABEL: _Z14atomic_add_casPf
----------------
Need tests for all scopes.


================
Comment at: llvm/lib/CodeGen/AtomicExpandPass.cpp:587
+    OptimizationRemark Remark) {
+  ORE->emit([&]() { return Remark; });
+  return Kind;
----------------
I do not see why do you need this function and all its arguments now. You can just call ORE->emit() directly.


================
Comment at: llvm/lib/CodeGen/AtomicExpandPass.cpp:631
+                    "at "
+                 << (AI->getSyncScopeID() ? "system" : "single thread")
+                 << " memory scope");
----------------
That does not help with target defined scope names, such as our "one-as" for example.


================
Comment at: llvm/test/CodeGen/AMDGPU/fp-atomics-remarks-gfx90a.ll:4
+
+; GFX90A-CAS: A compare and swap loop was generated for an atomic operation at system memory scope
+; GFX90A-CAS-LABEL: _Z14atomic_add_casPf:
----------------
You need to write tests for all scopes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106891/new/

https://reviews.llvm.org/D106891



More information about the cfe-commits mailing list