diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp
index d81846b..9faea70 100644
--- a/lib/CodeGen/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter.cpp
@@ -19,8 +19,27 @@
 #include "llvm/Target/TargetMachine.h"
 using namespace llvm;
 
+/// SwitchSection - Switch to the specified section of the executable if we
+/// are not already in it!
+///
+void AsmPrinter::SwitchSection(const char *NewSection, const GlobalValue *GV) {
+  std::string NS;
+  
+  if (GV && GV->hasSection())
+    NS = ".section " + GV->getSection();
+  else
+    NS = NewSection;
+  
+  if (CurrentSection != NS) {
+    CurrentSection = NS;
+    if (!CurrentSection.empty())
+      O << "\t" << CurrentSection << "\n";
+  }
+}
+
 bool AsmPrinter::doInitialization(Module &M) {
   Mang = new Mangler(M, GlobalPrefix);
+  SwitchSection("", 0);   // Reset back to no section.
   return false;
 }
 
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp
index cb034c0..a1bda19 100644
--- a/lib/CodeGen/LiveVariables.cpp
+++ b/lib/CodeGen/LiveVariables.cpp
@@ -278,10 +278,11 @@
             MachineOperand &MO = MI->getOperand(i);
             if (!MO.getVRegValueOrNull()) {
               VarInfo &VRInfo = getVarInfo(MO.getReg());
+              assert(VRInfo.DefInst && "Register use before def (or no def)!");
 
-              // Only mark it alive only in the block we are representing...
+              // Only mark it alive only in the block we are representing.
               MarkVirtRegAliveInBlock(VRInfo, MBB);
-              break;   // Found the PHI entry for this block...
+              break;   // Found the PHI entry for this block.
             }
           }
         }
diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp
index a42a366..9bad0d3 100644
--- a/lib/CodeGen/RegAllocLinearScan.cpp
+++ b/lib/CodeGen/RegAllocLinearScan.cpp
@@ -547,6 +547,7 @@
       minReg = reg;
     }
   }
+  assert(minReg && "Didn't find any reg!");
   DEBUG(std::cerr << "\t\tregister with min weight: "
         << mri_->getName(minReg) << " (" << minWeight << ")\n");
 
