[llvm] [AMDGPU] NFC: Provide RPTracker interface for external iterators (PR #93088)
    Matt Arsenault via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Aug 16 11:41:12 PDT 2024
    
    
  
================
@@ -288,6 +288,72 @@ collectVirtualRegUses(SmallVectorImpl<RegisterMaskPair> &RegMaskPairs,
   }
 }
 
+static LaneBitmask getRegLanes(ArrayRef<RegisterMaskPair> RegUnits,
+                               Register RegUnit) {
+  auto I = llvm::find_if(RegUnits, [RegUnit](const RegisterMaskPair Other) {
+    return Other.RegUnit == RegUnit;
+  });
+  if (I == RegUnits.end())
+    return LaneBitmask::getNone();
+  return I->LaneMask;
+}
+
+static LaneBitmask
+getLanesWithProperty(const LiveIntervals &LIS, const MachineRegisterInfo &MRI,
+                     bool TrackLaneMasks, Register RegUnit, SlotIndex Pos,
+                     LaneBitmask SafeDefault,
+                     bool (*Property)(const LiveRange &LR, SlotIndex Pos)) {
----------------
arsenm wrote:
can you use a function_ref here 
https://github.com/llvm/llvm-project/pull/93088
    
    
More information about the llvm-commits
mailing list