[PATCH] D89549: [ARM][LowOverheadLoops] Check live-out for InsertPt instead of Start

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 16 06:18:59 PDT 2020


samtebbs created this revision.
samtebbs added reviewers: samparker, SjoerdMeijer, dmgreen, t.p.northover, simon_tatham, olista01.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
samtebbs requested review of this revision.

In TryAdjustInsertionPoint an insertion point has already been selected but the live out checks are done on Start instead. Most of the time Start == InserPt, but in other cases where this isn't the case, these live-out checks will fail as false negatives since there will be a mov lr after Start. This patch changes the live-out checks to use InsertPt instead.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89549

Files:
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp


Index: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
===================================================================
--- llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
+++ llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
@@ -1082,8 +1082,8 @@
     // Get the latest possible insertion point and check whether the semantics
     // will be maintained if Start was inserted there.
     if (FirstNonTerminator == MBB->end()) {
-      if (RDA.isReachingDefLiveOut(Start, CountReg) &&
-          RDA.isReachingDefLiveOut(Start, ARM::LR))
+      if (RDA.isReachingDefLiveOut(&*InsertPt, CountReg) &&
+          RDA.isReachingDefLiveOut(&*InsertPt, ARM::LR))
         InsertPt = FirstNonTerminator;
     } else if (RDA.hasSameReachingDef(Start, &*FirstNonTerminator, CountReg) &&
                RDA.hasSameReachingDef(Start, &*FirstNonTerminator, ARM::LR))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89549.298613.patch
Type: text/x-patch
Size: 845 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201016/2c3f85e3/attachment.bin>


More information about the llvm-commits mailing list