[llvm] [SimplifyCFG] Supporting hoisting/sinking callbases with differing attrs (PR #109472)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 23 07:29:59 PDT 2024


================
@@ -1591,10 +1591,150 @@ static void hoistLockstepIdenticalDbgVariableRecords(
   }
 }
 
+// See if we can intersect the attributes for two callbases (used for
+// hoisting/sinking).
+static std::optional<AttributeList> tryIntersectAttrs(const CallBase *CB0,
+                                                      const CallBase *CB1) {
----------------
nikic wrote:

This intersection logic should really live in the Attributes implementation, not SimplifyCFG.

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


More information about the llvm-commits mailing list