[llvm] [X86]RMW instrs not handled in pre-RA-sched=fast (PR #67281)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 25 19:05:12 PDT 2023


================
@@ -231,6 +231,11 @@ SUnit *ScheduleDAGFast::CopyAndMoveSuccessors(SUnit *SU) {
     if (!TII->unfoldMemoryOperand(*DAG, N, NewNodes))
       return nullptr;
 
+    // unfolding an x86 RMW operation results in store, dec, load which
+    // can't be handled here so quit
+    if (NewNodes.size() == 3)
+      return nullptr;
+
----------------
XinWang10 wrote:

Yes, I raised this first, then I find it can also be fixed by https://github.com/llvm/llvm-project/pull/67288. If that patch landed then this patch should be abandoned.

https://github.com/llvm/llvm-project/pull/67281


More information about the llvm-commits mailing list