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

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 25 00:25:32 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;
+
----------------
phoebewang wrote:

Why can't add it in `unfoldMemoryOperand` if it is required in each time?

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


More information about the llvm-commits mailing list