rampitec added inline comments.
================ Comment at: llvm/lib/Target/AMDGPU/SIISelLowering.cpp:12155 + OptimizationRemark Remark(DEBUG_TYPE, "Passed", RMW->getFunction()); + Remark << "A floating-point atomic instruction with no following use" + " will generate an unsafe hardware instruction"; ---------------- I do not understand this message about the use. We are checking the use below simply because there was no return version of global_atomic_add_f32 on gfx908, so we are forced to expand it. ================ Comment at: llvm/lib/Target/AMDGPU/SIISelLowering.cpp:12165 - return RMW->use_empty() ? AtomicExpansionKind::None - : AtomicExpansionKind::CmpXChg; + if (RMW->use_empty()) { + if (RMW->getFunction() ---------------- That's a lot of churn. Please create a function returning AtomicExpansionKind, pass what you are going to return into that function, return that argument from the function, and also pass a string for diagnosticts to emit from there. Replace returns here with its calls. Like: `return reportAtomicExpand(AtomicExpansionKind::None, ORE, "Produced HW atomic is unsafe and might not update memory");` ================ Comment at: llvm/lib/Target/AMDGPU/SIISelLowering.cpp:12198 + Remark + << "A floating-point atomic instruction will generate an unsafe" + " hardware instruction"; ---------------- This one might be unsafe not because of the cache it works on, but because it might not follow denorm mode. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106891/new/ https://reviews.llvm.org/D106891 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits