diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp
index 264f080..e874ec4 100644
--- a/lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/lib/Transforms/IPO/ArgumentPromotion.cpp
@@ -66,7 +66,8 @@
 
     virtual bool runOnSCC(const std::vector<CallGraphNode *> &SCC);
     static char ID; // Pass identification, replacement for typeid
-    ArgPromotion(unsigned maxElements = 3) : CallGraphSCCPass((intptr_t)&ID), maxElements(maxElements) {}
+    ArgPromotion(unsigned maxElements = 3) : CallGraphSCCPass((intptr_t)&ID),
+                                             maxElements(maxElements) {}
 
   private:
     bool PromoteArguments(CallGraphNode *CGN);
@@ -74,8 +75,8 @@
     Function *DoPromotion(Function *F, 
                           SmallPtrSet<Argument*, 8> &ArgsToPromote,
                           SmallPtrSet<Argument*, 8> &ByValArgsToTransform);
-	/// The maximum number of elements to expand, or 0 for unlimited.
-	unsigned maxElements;
+  /// The maximum number of elements to expand, or 0 for unlimited.
+  unsigned maxElements;
   };
 }
 
@@ -290,7 +291,7 @@
                << Arg->getName() << "' because it would require adding more "
                << "than " << maxElements << " arguments to the function.\n";
           // We limit aggregate promotion to only promoting up to a fixed number
-		  // of elements of the aggregate.
+          // of elements of the aggregate.
           return false;
         }
         GEPIndices.push_back(Operands);
diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index bbb3a8a..4662e05 100644
--- a/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -327,8 +327,8 @@
     
     // If we encounter a use of the pointer, it is no longer considered dead
     if (LoadInst* L = dyn_cast<LoadInst>(BBI)) {
-      // However, if this load is unused and not volatile, we can go ahead and remove it,
-      // and not have to worry about it making our pointer undead!
+      // However, if this load is unused and not volatile, we can go ahead and
+      // remove it, and not have to worry about it making our pointer undead!
       if (L->use_empty() && !L->isVolatile()) {
         MD.removeInstruction(L);
         
