Separate timers for local and global splitting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 19 Feb 2011 00:38:40 +0000 (00:38 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 19 Feb 2011 00:38:40 +0000 (00:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126001 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocGreedy.cpp

index c4080aef86011bbfedcd393a95c4f4fa9b2e0dbf..3c65cf3b29bd79077876bd0d79cbe64e2db7b807 100644 (file)
@@ -1116,12 +1116,15 @@ unsigned RAGreedy::tryLocalSplit(LiveInterval &VirtReg, AllocationOrder &Order,
 /// @return Physreg when VirtReg may be assigned and/or new NewVRegs.
 unsigned RAGreedy::trySplit(LiveInterval &VirtReg, AllocationOrder &Order,
                             SmallVectorImpl<LiveInterval*>&NewVRegs) {
-  NamedRegionTimer T("Splitter", TimerGroupName, TimePassesIsEnabled);
   SA->analyze(&VirtReg);
 
   // Local intervals are handled separately.
-  if (LIS->intervalIsInOneMBB(VirtReg))
+  if (LIS->intervalIsInOneMBB(VirtReg)) {
+    NamedRegionTimer T("Local Splitting", TimerGroupName, TimePassesIsEnabled);
     return tryLocalSplit(VirtReg, Order, NewVRegs);
+  }
+
+  NamedRegionTimer T("Global Splitting", TimerGroupName, TimePassesIsEnabled);
 
   // First try to split around a region spanning multiple blocks.
   unsigned PhysReg = tryRegionSplit(VirtReg, Order, NewVRegs);