<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Thanks, fixed.</div><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 8, 2016, at 11:13 AM, Justin Bogner <<a href="mailto:mail@justinbogner.com" class="">mail@justinbogner.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Matthias Braun via llvm-commits <</span><a href="mailto:llvm-commits@lists.llvm.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">llvm-commits@lists.llvm.org</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">> writes:</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Author: matze<br class="">Date: Thu Jan  7 19:16:35 2016<br class="">New Revision: 257129<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=257129&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=257129&view=rev</a><br class="">Log:<br class="">LiveInterval: A LiveRange is enough for ConnectedVNInfoEqClasses::Classify()<br class=""><br class="">Modified:<br class="">   llvm/trunk/include/llvm/CodeGen/LiveInterval.h<br class="">   llvm/trunk/lib/CodeGen/LiveInterval.cpp<br class="">   llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp<br class="">   llvm/trunk/lib/CodeGen/MachineVerifier.cpp<br class=""><br class="">Modified: llvm/trunk/include/llvm/CodeGen/LiveInterval.h<br class="">URL:<br class=""><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/LiveInterval.h?rev=257129&r1=257128&r2=257129&view=diff" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/LiveInterval.h?rev=257129&r1=257128&r2=257129&view=diff</a><br class="">==============================================================================<br class=""><br class="">--- llvm/trunk/include/llvm/CodeGen/LiveInterval.h (original)<br class="">+++ llvm/trunk/include/llvm/CodeGen/LiveInterval.h Thu Jan  7 19:16:35 2016<br class="">@@ -848,9 +848,9 @@ namespace llvm {<br class="">  public:<br class="">    explicit ConnectedVNInfoEqClasses(LiveIntervals &lis) : LIS(lis) {}<br class=""><br class="">-    /// Classify - Classify the values in LI into connected components.<br class="">-    /// Return the number of connected components.<br class="">-    unsigned Classify(const LiveInterval *LI);<br class="">+    /// Classify the values in LI into connected components.<br class="">+    /// Returns the number of connected components.<br class="">+    unsigned Classify(const LiveRange &LR);<br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Looks like you missed s/LI/LR/ in the comment here.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">    /// getEqClass - Classify creates equivalence classes numbered 0..N. Return<br class="">    /// the equivalence class assigned the VNI.<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/LiveInterval.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveInterval.cpp?rev=257129&r1=257128&r2=257129&view=diff" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveInterval.cpp?rev=257129&r1=257128&r2=257129&view=diff</a><br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/LiveInterval.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/LiveInterval.cpp Thu Jan  7 19:16:35 2016<br class="">@@ -1328,15 +1328,15 @@ void LiveRangeUpdater::flush() {<br class="">  LR->verify();<br class="">}<br class=""><br class="">-unsigned ConnectedVNInfoEqClasses::Classify(const LiveInterval *LI) {<br class="">+unsigned ConnectedVNInfoEqClasses::Classify(const LiveRange &LR) {<br class="">  // Create initial equivalence classes.<br class="">  EqClass.clear();<br class="">-  EqClass.grow(LI->getNumValNums());<br class="">+  EqClass.grow(LR.getNumValNums());<br class=""><br class="">  const VNInfo *used = nullptr, *unused = nullptr;<br class=""><br class="">  // Determine connections.<br class="">-  for (const VNInfo *VNI : LI->valnos) {<br class="">+  for (const VNInfo *VNI : LR.valnos) {<br class="">    // Group all unused values into one class.<br class="">    if (VNI->isUnused()) {<br class="">      if (unused)<br class="">@@ -1351,14 +1351,14 @@ unsigned ConnectedVNInfoEqClasses::Class<br class="">      // Connect to values live out of predecessors.<br class="">      for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),<br class="">           PE = MBB->pred_end(); PI != PE; ++PI)<br class="">-        if (const VNInfo *PVNI = LI->getVNInfoBefore(LIS.getMBBEndIdx(*PI)))<br class="">+        if (const VNInfo *PVNI = LR.getVNInfoBefore(LIS.getMBBEndIdx(*PI)))<br class="">          EqClass.join(VNI->id, PVNI->id);<br class="">    } else {<br class="">      // Normal value defined by an instruction. Check for two-addr redef.<br class="">      // FIXME: This could be coincidental. Should we really check for a tied<br class="">      // operand constraint?<br class="">      // Note that VNI->def may be a use slot for an early clobber def.<br class="">-      if (const VNInfo *UVNI = LI->getVNInfoBefore(VNI->def))<br class="">+      if (const VNInfo *UVNI = LR.getVNInfoBefore(VNI->def))<br class="">        EqClass.join(VNI->id, UVNI->id);<br class="">    }<br class="">  }<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=257129&r1=257128&r2=257129&view=diff" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=257129&r1=257128&r2=257129&view=diff</a><br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Thu Jan  7 19:16:35 2016<br class="">@@ -1446,7 +1446,7 @@ void LiveIntervals::removeVRegDefAt(Live<br class="">void LiveIntervals::splitSeparateComponents(LiveInterval &LI,<br class="">    SmallVectorImpl<LiveInterval*> &SplitLIs) {<br class="">  ConnectedVNInfoEqClasses ConEQ(*this);<br class="">-  unsigned NumComp = ConEQ.Classify(&LI);<br class="">+  unsigned NumComp = ConEQ.Classify(LI);<br class="">  if (NumComp <= 1)<br class="">    return;<br class="">  DEBUG(dbgs() << "  Split " << NumComp << " components: " << LI << '\n');<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/MachineVerifier.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineVerifier.cpp?rev=257129&r1=257128&r2=257129&view=diff" class="">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineVerifier.cpp?rev=257129&r1=257128&r2=257129&view=diff</a><br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/MachineVerifier.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/MachineVerifier.cpp Thu Jan  7 19:16:35 2016<br class="">@@ -1736,7 +1736,7 @@ void MachineVerifier::verifyLiveInterval<br class=""><br class="">  // Check the LI only has one connected component.<br class="">  ConnectedVNInfoEqClasses ConEQ(*LiveInts);<br class="">-  unsigned NumComp = ConEQ.Classify(&LI);<br class="">+  unsigned NumComp = ConEQ.Classify(LI);<br class="">  if (NumComp > 1) {<br class="">    report("Multiple connected components in live interval", MF);<br class="">    report_context(LI);<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class=""><a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</blockquote></div></blockquote></div><br class=""></body></html>