[llvm] 546c090 - [MachineSink] Only add sink candidate if ToBB is a successor of fromBB

YongKang Zhu via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 11 11:13:22 PDT 2024


Author: YongKang Zhu
Date: 2024-07-11T11:12:53-07:00
New Revision: 546c09018a615388a36bdf898649fffbd2df529f

URL: https://github.com/llvm/llvm-project/commit/546c09018a615388a36bdf898649fffbd2df529f
DIFF: https://github.com/llvm/llvm-project/commit/546c09018a615388a36bdf898649fffbd2df529f.diff

LOG: [MachineSink] Only add sink candidate if ToBB is a successor of fromBB

Added: 
    

Modified: 
    llvm/lib/CodeGen/MachineSink.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/MachineSink.cpp b/llvm/lib/CodeGen/MachineSink.cpp
index bbc5ab13a0cd3..4d8de6765273f 100644
--- a/llvm/lib/CodeGen/MachineSink.cpp
+++ b/llvm/lib/CodeGen/MachineSink.cpp
@@ -913,7 +913,7 @@ bool MachineSinking::isWorthBreakingCriticalEdge(
     auto Res = CEMergeCandidates.try_emplace(Key, From);
     // We wanted to sink the same register into the same block, consider it to
     // be profitable.
-    if (!Res.second) {
+    if (!Res.second && Res.first->second->isSuccessor(To)) {
       // Return the source block that was previously held off.
       DeferredFromBlock = Res.first->second;
       return true;


        


More information about the llvm-commits mailing list