diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index 1b355b6478b..359766d444f 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -20,6 +20,7 @@
 #include "llvm/Support/GetElementPtrTypeIterator.h"
 #include "llvm/Support/MathExtras.h"
 #include <cerrno>
+#include <cmath>
 using namespace llvm;
 
 //===----------------------------------------------------------------------===//
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 26d73fc0332..87232b371ce 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -78,6 +78,7 @@
 #include "llvm/ADT/Statistic.h"
 #include <ostream>
 #include <algorithm>
+#include <cmath>
 using namespace llvm;
 
 namespace {
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 10a3565c33e..9248662e390 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -33,6 +33,7 @@
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/STLExtras.h"
 #include <algorithm>
+#include <cmath>
 using namespace llvm;
 
 namespace {
diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp
index 18a3db81500..d941640e60a 100644
--- a/lib/CodeGen/RegAllocLinearScan.cpp
+++ b/lib/CodeGen/RegAllocLinearScan.cpp
@@ -32,6 +32,7 @@
 #include <set>
 #include <queue>
 #include <memory>
+#include <cmath>
 using namespace llvm;
 
 namespace {
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 9528cb43c85..1dcf9fda059 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -29,6 +29,7 @@
 #include <iostream>
 #include <set>
 #include <algorithm>
+#include <cmath>
 using namespace llvm;
 
 /// makeVTList - Return an instance of the SDVTList struct initialized with the
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 5b287b2cc42..fd5fb6f0bd3 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -20,6 +20,7 @@
 #include "llvm/Support/GetElementPtrTypeIterator.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Support/Debug.h"
+#include <cmath>
 using namespace llvm;
 
 namespace {
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 1b8f399b396..161873c2c88 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -27,6 +27,7 @@
 #include "llvm/Target/TargetData.h"
 #include <csignal>
 #include <map>
+#include <cmath>
 using std::vector;
 
 using namespace llvm;
diff --git a/lib/Transforms/Scalar/PredicateSimplifier.cpp b/lib/Transforms/Scalar/PredicateSimplifier.cpp
index 7c6f7d5ecb4..7d0a40456f5 100644
--- a/lib/Transforms/Scalar/PredicateSimplifier.cpp
+++ b/lib/Transforms/Scalar/PredicateSimplifier.cpp
@@ -436,8 +436,8 @@ namespace {
     for (typename C::iterator KI = Kill.begin(), KE = Kill.end();
          KI != KE; ++KI) {
 
-     for (Node::iterator I = (*KI)->begin(), E = (*KI)->end(); I != E; ++I) {
-       if (I->first == N) continue;
+      for (Node::iterator I = (*KI)->begin(), E = (*KI)->end(); I != E; ++I) {
+        if (I->first == N) continue;
 
         Node::iterator NI = N->find(I->first);
         if (NI == N->end()) {
@@ -446,8 +446,8 @@ namespace {
           unsigned char LV = NI->second & I->second;
           if (LV == EQ_BIT) {
 
-           assert(std::find(Kill.begin(), Kill.end(), I->first) != Kill.end()
-                   && "Lost EQ property.");
+            assert(std::find(Kill.begin(), Kill.end(), I->first) != Kill.end()
+                    && "Lost EQ property.");
             N->erase(NI);
           } else {
             NI->second = static_cast<LatticeVal>(LV);
@@ -465,9 +465,9 @@ namespace {
       }
 
       // Removing references from N to Kill.
-      Node::iterator I = N->find(*KI);
-      if (I != N->end()) {
-        N->erase(I); // breaks reciprocity until Kill is deleted.
+      Node::iterator NI = N->find(*KI);
+      if (NI != N->end()) {
+        N->erase(NI); // breaks reciprocity until Kill is deleted.
       }
     }
 
diff --git a/lib/VMCore/Instructions.cpp b/lib/VMCore/Instructions.cpp
index d421adb2914..f4866423176 100644
--- a/lib/VMCore/Instructions.cpp
+++ b/lib/VMCore/Instructions.cpp
@@ -1678,7 +1678,7 @@ SExtInst::SExtInst(
   assert(checkCast(getOpcode(), S, Ty) && "Illegal SExt");
 }
 
-SExtInst::SExtInst::SExtInst(
+SExtInst::SExtInst(
   Value *S, const Type *Ty, const std::string &Name, BasicBlock *InsertAtEnd
 )  : CastInst(Ty, SExt, S, Name, InsertAtEnd) { 
   assert(checkCast(getOpcode(), S, Ty) && "Illegal SExt");
diff --git a/win32/Analysis/Analysis.vcproj b/win32/Analysis/Analysis.vcproj
index 70af36b2338..3d3ec61b5be 100644
--- a/win32/Analysis/Analysis.vcproj
+++ b/win32/Analysis/Analysis.vcproj
@@ -117,6 +117,9 @@
 			<File
 				RelativePath="..\..\lib\Analysis\AliasAnalysisEvaluator.cpp">
 			</File>
+			<File
+				RelativePath="..\..\lib\Analysis\AliasDebugger.cpp">
+			</File>
 			<File
 				RelativePath="..\..\lib\Analysis\AliasSetTracker.cpp">
 			</File>
diff --git a/win32/Support/Support.vcproj b/win32/Support/Support.vcproj
index 0da1c3f781c..613bb0f3de4 100644
--- a/win32/Support/Support.vcproj
+++ b/win32/Support/Support.vcproj
@@ -175,6 +175,9 @@
 			<File
 				RelativePath="..\..\lib\Support\Statistic.cpp">
 			</File>
+			<File
+				RelativePath="..\..\lib\Support\Streams.cpp">
+			</File>
 			<File
 				RelativePath="..\..\lib\Support\StringExtras.cpp">
 			</File>
@@ -313,6 +316,9 @@
 			<File
 				RelativePath="..\..\include\llvm\Support\StableBasicBlockNumbering.h">
 			</File>
+			<File
+				RelativePath="..\..\include\llvm\Support\Streams.h">
+			</File>
 			<File
 				RelativePath="..\..\include\llvm\Support\SystemUtils.h">
 			</File>
diff --git a/win32/VMCore/VMCore.vcproj b/win32/VMCore/VMCore.vcproj
index 78039b888be..37484f545f0 100644
--- a/win32/VMCore/VMCore.vcproj
+++ b/win32/VMCore/VMCore.vcproj
@@ -183,6 +183,9 @@
 			<File
 				RelativePath="..\..\lib\VMCore\Pass.cpp">
 			</File>
+			<File
+				RelativePath="..\..\lib\VMCore\PassManager.cpp">
+			</File>
 			<File
 				RelativePath="..\..\lib\VMCore\SymbolTable.cpp">
 			</File>