[llvm-commits] [llvm] r122202 - /llvm/trunk/lib/CodeGen/LiveInterval.cpp

Cameron Zwarich zwarich at apple.com
Sun Dec 19 14:12:45 PST 2010


Author: zwarich
Date: Sun Dec 19 16:12:45 2010
New Revision: 122202

URL: http://llvm.org/viewvc/llvm-project?rev=122202&view=rev
Log:
Fix PR8815 by checking for an explicit clobber def tied to a use operand in
ConnectedVNInfoEqClasses::Classify().

Modified:
    llvm/trunk/lib/CodeGen/LiveInterval.cpp

Modified: llvm/trunk/lib/CodeGen/LiveInterval.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveInterval.cpp?rev=122202&r1=122201&r2=122202&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/LiveInterval.cpp (original)
+++ llvm/trunk/lib/CodeGen/LiveInterval.cpp Sun Dec 19 16:12:45 2010
@@ -769,6 +769,14 @@
       // operand constraint?
       if (const VNInfo *UVNI = LI->getVNInfoAt(VNI->def.getUseIndex()))
         Connect(VNI->id, UVNI->id);
+
+      // Check for a tied operand constraint involving an early clobber def,
+      // where one VN ends right before the use index and the next VN is defined
+      // at the same use index.
+      if (VNI->def.isUse()) {
+        if (const VNInfo *PVNI = LI->getVNInfoAt(VNI->def.getLoadIndex()))
+          Connect(PVNI->id, VNI->id);
+      }
     }
   }
 





More information about the llvm-commits mailing list