allow a virtual register to be associated with live-in values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21927 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 405d9ec..d75bf3f 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -95,7 +95,7 @@
   // beginning of the function that we will pretend "defines" the values.  This
   // is to make the interval analysis simpler by providing a number.
   if (fn.livein_begin() != fn.livein_end()) {
-    unsigned FirstLiveIn = *fn.livein_begin();
+    unsigned FirstLiveIn = fn.livein_begin()->first;
 
     // Find a reg class that contains this live in.
     const TargetRegisterClass *RC = 0;
@@ -128,11 +128,11 @@
   // Note intervals due to live-in values.
   if (fn.livein_begin() != fn.livein_end()) {
     MachineBasicBlock *Entry = fn.begin();
-    for (MachineFunction::liveinout_iterator I = fn.livein_begin(),
+    for (MachineFunction::livein_iterator I = fn.livein_begin(),
            E = fn.livein_end(); I != E; ++I) {
       handlePhysicalRegisterDef(Entry, Entry->begin(),
-                                getOrCreateInterval(*I), 0, 0);
-      for (const unsigned* AS = mri_->getAliasSet(*I); *AS; ++AS)
+                                getOrCreateInterval(I->first), 0, 0);
+      for (const unsigned* AS = mri_->getAliasSet(I->first); *AS; ++AS)
         handlePhysicalRegisterDef(Entry, Entry->begin(),
                                   getOrCreateInterval(*AS), 0, 0);
     }