Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/ADT/FoldingSet.h b/include/llvm/ADT/FoldingSet.h
index 1a94071..e99cf6f 100644
--- a/include/llvm/ADT/FoldingSet.h
+++ b/include/llvm/ADT/FoldingSet.h
@@ -16,7 +16,9 @@
 #ifndef LLVM_ADT_FOLDINGSET_H
 #define LLVM_ADT_FOLDINGSET_H
 
+#include "llvm/Support/DataTypes.h"
 #include "llvm/ADT/SmallVector.h"
+#include <string>
 
 namespace llvm {
 
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h
index 7cf8256..939300f 100644
--- a/include/llvm/Analysis/Dominators.h
+++ b/include/llvm/Analysis/Dominators.h
@@ -304,9 +304,9 @@
   Node *RootNode;
 public:
   class Node {
-    friend struct DominatorTree;
+    friend class DominatorTree;
     friend struct PostDominatorTree;
-    friend struct DominatorTreeBase;
+    friend class DominatorTreeBase;
     BasicBlock *TheBB;
     Node *IDom;
     std::vector<Node*> Children;
diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h
index b2bdde0..2f3fc47 100644
--- a/include/llvm/Analysis/LoopInfo.h
+++ b/include/llvm/Analysis/LoopInfo.h
@@ -35,7 +35,7 @@
 
 namespace llvm {
 
-struct ETForest;
+class ETForest;
 class LoopInfo;
 class PHINode;
 class Instruction;
diff --git a/include/llvm/Bytecode/Archive.h b/include/llvm/Bytecode/Archive.h
index 7294242..59d825a 100644
--- a/include/llvm/Bytecode/Archive.h
+++ b/include/llvm/Bytecode/Archive.h
@@ -95,7 +95,7 @@
 
     /// @returns the size of the archive member in bytes.
     /// @brief Get the size of the archive member.
-    unsigned getSize() const             { return info.getSize(); }
+    uint64_t getSize() const             { return info.getSize(); }
 
     /// This method returns the total size of the archive member as it
     /// appears on disk. This includes the file content, the header, the
diff --git a/include/llvm/CodeGen/MachineConstantPool.h b/include/llvm/CodeGen/MachineConstantPool.h
index 17ddcf1..f45c8a7 100644
--- a/include/llvm/CodeGen/MachineConstantPool.h
+++ b/include/llvm/CodeGen/MachineConstantPool.h
@@ -61,7 +61,8 @@
 /// It contains a pointer to the value and an offset from the start of
 /// the constant pool.
 /// @brief An entry in a MachineConstantPool
-struct MachineConstantPoolEntry {
+class MachineConstantPoolEntry {
+public:
   /// The constant itself.
   union {
     Constant *ConstVal;
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index b64b9c2..2448a65 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -322,9 +322,9 @@
 
   /// getStore - Helper function to build ISD::STORE nodes.
   ///
-  SDOperand getStore(SDOperand Chain, SDOperand Value, SDOperand Ptr,
+  SDOperand getStore(SDOperand Chain, SDOperand Val, SDOperand Ptr,
                      const Value *SV, int SVOffset, bool isVolatile=false);
-  SDOperand getTruncStore(SDOperand Chain, SDOperand Value, SDOperand Ptr,
+  SDOperand getTruncStore(SDOperand Chain, SDOperand Val, SDOperand Ptr,
                           const Value *SV, int SVOffset, MVT::ValueType TVT,
                           bool isVolatile=false);
   SDOperand getIndexedStore(SDOperand OrigStoe, SDOperand Base,
diff --git a/include/llvm/Support/Compressor.h b/include/llvm/Support/Compressor.h
index 5e51721..52fb5d5 100644
--- a/include/llvm/Support/Compressor.h
+++ b/include/llvm/Support/Compressor.h
@@ -16,6 +16,7 @@
 
 #include "llvm/Support/DataTypes.h"
 #include <iosfwd>
+#include <string>
 
 namespace llvm {
 
diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index 77a5cc5..f6b2be0 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -47,7 +47,7 @@
                    group(999), isDir(false) { }
     
     TimeValue getTimestamp() const { return modTime; }
-    size_t getSize() const { return fileSize; }
+    uint64_t getSize() const { return fileSize; }
     uint32_t getMode() const { return mode; }
     uint32_t getUser() const { return user; }
     uint32_t getGroup() const { return group; }
diff --git a/include/llvm/Transforms/Utils/FunctionUtils.h b/include/llvm/Transforms/Utils/FunctionUtils.h
index d8610bb..d6e486b 100644
--- a/include/llvm/Transforms/Utils/FunctionUtils.h
+++ b/include/llvm/Transforms/Utils/FunctionUtils.h
@@ -18,7 +18,7 @@
 
 namespace llvm {
   class BasicBlock;
-  struct DominatorSet;
+  class DominatorSet;
   class Function;
   class Loop;
 
diff --git a/include/llvm/Transforms/Utils/PromoteMemToReg.h b/include/llvm/Transforms/Utils/PromoteMemToReg.h
index 8d886f5..44b11d7 100644
--- a/include/llvm/Transforms/Utils/PromoteMemToReg.h
+++ b/include/llvm/Transforms/Utils/PromoteMemToReg.h
@@ -20,8 +20,8 @@
 namespace llvm {
 
 class AllocaInst;
-struct DominatorTree;
-struct DominanceFrontier;
+class DominatorTree;
+class DominanceFrontier;
 class TargetData;
 class AliasSetTracker;
 
diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp
index 97587d5..fea03a5 100644
--- a/lib/CodeGen/BranchFolding.cpp
+++ b/lib/CodeGen/BranchFolding.cpp
@@ -25,6 +25,7 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/STLExtras.h"
+#include <algorithm>
 using namespace llvm;
 
 static Statistic<> NumDeadBlocks("branchfold", "Number of dead blocks removed");
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 5f1b582..03abac2 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -383,7 +383,7 @@
     bool isAlias(SDOperand Ptr1, int64_t Size1,
                  const Value *SrcValue1, int SrcValueOffset1,
                  SDOperand Ptr2, int64_t Size2,
-                 const Value *SrcValue2, int SrcValueOffset1);
+                 const Value *SrcValue2, int SrcValueOffset2);
                  
     /// FindAliasInfo - Extracts the relevant alias information from the memory
     /// node.  Returns true if the operand was a load.
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 6e69728..ef9e3f5 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -1657,16 +1657,16 @@
   return getNode(ISD::VLOAD, getVTList(MVT::Vector, MVT::Other), Ops, 5);
 }
 
-SDOperand SelectionDAG::getStore(SDOperand Chain, SDOperand Value,
+SDOperand SelectionDAG::getStore(SDOperand Chain, SDOperand Val,
                                  SDOperand Ptr, const Value *SV, int SVOffset,
                                  bool isVolatile) {
-  MVT::ValueType VT = Value.getValueType();
+  MVT::ValueType VT = Val.getValueType();
 
   // FIXME: Alignment == 1 for now.
   unsigned Alignment = 1;
   SDVTList VTs = getVTList(MVT::Other);
   SDOperand Undef = getNode(ISD::UNDEF, Ptr.getValueType());
-  SDOperand Ops[] = { Chain, Value, Ptr, Undef };
+  SDOperand Ops[] = { Chain, Val, Ptr, Undef };
   FoldingSetNodeID ID;
   AddNodeIDNode(ID, ISD::STORE, VTs, Ops, 4);
   ID.AddInteger(ISD::UNINDEXED);
@@ -1679,7 +1679,7 @@
   void *IP = 0;
   if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
     return SDOperand(E, 0);
-  SDNode *N = new StoreSDNode(Chain, Value, Ptr, Undef, ISD::UNINDEXED, false,
+  SDNode *N = new StoreSDNode(Chain, Val, Ptr, Undef, ISD::UNINDEXED, false,
                               VT, SV, SVOffset, Alignment, isVolatile);
   N->setValueTypes(VTs);
   CSEMap.InsertNode(N, IP);
@@ -1687,11 +1687,11 @@
   return SDOperand(N, 0);
 }
 
-SDOperand SelectionDAG::getTruncStore(SDOperand Chain, SDOperand Value,
+SDOperand SelectionDAG::getTruncStore(SDOperand Chain, SDOperand Val,
                                       SDOperand Ptr, const Value *SV,
                                       int SVOffset, MVT::ValueType SVT,
                                       bool isVolatile) {
-  MVT::ValueType VT = Value.getValueType();
+  MVT::ValueType VT = Val.getValueType();
   bool isTrunc = VT != SVT;
 
   assert(VT > SVT && "Not a truncation?");
@@ -1702,7 +1702,7 @@
   unsigned Alignment = 1;
   SDVTList VTs = getVTList(MVT::Other);
   SDOperand Undef = getNode(ISD::UNDEF, Ptr.getValueType());
-  SDOperand Ops[] = { Chain, Value, Ptr, Undef };
+  SDOperand Ops[] = { Chain, Val, Ptr, Undef };
   FoldingSetNodeID ID;
   AddNodeIDNode(ID, ISD::STORE, VTs, Ops, 4);
   ID.AddInteger(ISD::UNINDEXED);
@@ -1715,7 +1715,7 @@
   void *IP = 0;
   if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
     return SDOperand(E, 0);
-  SDNode *N = new StoreSDNode(Chain, Value, Ptr, Undef, ISD::UNINDEXED, isTrunc,
+  SDNode *N = new StoreSDNode(Chain, Val, Ptr, Undef, ISD::UNINDEXED, isTrunc,
                               SVT, SV, SVOffset, Alignment, isVolatile);
   N->setValueTypes(VTs);
   CSEMap.InsertNode(N, IP);
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 048bf60..1eee2bb 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -124,7 +124,12 @@
 
   // Append a subdirectory passed on our process id so multiple LLVMs don't
   // step on each other's toes.
+#ifdef __MINGW32__
+  // Mingw's Win32 header files are broken.
   sprintf(pathname, "LLVM_%u", unsigned(GetCurrentProcessId()));
+#else
+  sprintf(pathname, "LLVM_%u", GetCurrentProcessId());
+#endif
   result.appendComponent(pathname);
 
   // If there's a directory left over from a previous LLVM execution that
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp
index 343176d..3957b94 100644
--- a/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -663,7 +663,7 @@
             AM.IndexReg = ShVal.Val->getOperand(0);
             ConstantSDNode *AddVal =
               cast<ConstantSDNode>(ShVal.Val->getOperand(1));
-            uint64_t Disp = AM.Disp + AddVal->getValue() << Val;
+            uint64_t Disp = AM.Disp + (AddVal->getValue() << Val);
             if (isInt32(Disp))
               AM.Disp = Disp;
             else
diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h
index fdab3ee..df43b86 100644
--- a/lib/Target/X86/X86RegisterInfo.h
+++ b/lib/Target/X86/X86RegisterInfo.h
@@ -22,9 +22,11 @@
   class TargetInstrInfo;
   class X86TargetMachine;
 
-struct X86RegisterInfo : public X86GenRegisterInfo {
+class X86RegisterInfo : public X86GenRegisterInfo {
+public:
   X86TargetMachine &TM;
   const TargetInstrInfo &TII;
+
 private:
   /// Is64Bit - Is the target 64-bits.
   bool Is64Bit;
diff --git a/lib/Transforms/Scalar/PredicateSimplifier.cpp b/lib/Transforms/Scalar/PredicateSimplifier.cpp
index ca2762c..47f6d3d 100644
--- a/lib/Transforms/Scalar/PredicateSimplifier.cpp
+++ b/lib/Transforms/Scalar/PredicateSimplifier.cpp
@@ -428,7 +428,7 @@
           // "setlt/gt int %a, %b" NE false then %a NE %b
 
           if (ConstantBool *CB = dyn_cast<ConstantBool>(V1)) {
-            if (CB->getValue() ^ Opcode==NE)
+            if (CB->getValue() ^ (Opcode==NE))
               addNotEqual(BO->getOperand(0), BO->getOperand(1));
 	  }
           break;
@@ -437,7 +437,7 @@
           // "setle/ge int %a, %b" EQ false then %a NE %b
           // "setle/ge int %a, %b" NE true  then %a NE %b
           if (ConstantBool *CB = dyn_cast<ConstantBool>(V1)) {
-            if (CB->getValue() ^ Opcode==EQ)
+            if (CB->getValue() ^ (Opcode==EQ))
               addNotEqual(BO->getOperand(0), BO->getOperand(1));
 	  }
           break;
@@ -486,7 +486,7 @@
           if (ConstantBool *CB = dyn_cast<ConstantBool>(V1)) {
             if (ConstantBool *A = dyn_cast<ConstantBool>(LHS)) {
               addEqual(RHS, ConstantBool::get(A->getValue() ^ CB->getValue()
-                                              ^ Opcode==NE));
+                                              ^ (Opcode==NE)));
             }
           }
           else if (ConstantIntegral *CI = dyn_cast<ConstantIntegral>(V1)) {
diff --git a/lib/Transforms/Utils/CloneFunction.cpp b/lib/Transforms/Utils/CloneFunction.cpp
index 30a7add..3aa7397 100644
--- a/lib/Transforms/Utils/CloneFunction.cpp
+++ b/lib/Transforms/Utils/CloneFunction.cpp
@@ -313,9 +313,9 @@
   assert(NameSuffix && "NameSuffix cannot be null!");
   
 #ifndef NDEBUG
-  for (Function::const_arg_iterator I = OldFunc->arg_begin(), 
-       E = OldFunc->arg_end(); I != E; ++I)
-    assert(ValueMap.count(I) && "No mapping from source argument specified!");
+  for (Function::const_arg_iterator II = OldFunc->arg_begin(), 
+       E = OldFunc->arg_end(); II != E; ++II)
+    assert(ValueMap.count(II) && "No mapping from source argument specified!");
 #endif
   
   PruningFunctionCloner PFC(NewFunc, OldFunc, ValueMap, Returns, 
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp
index f71d7ba..dedf91e 100644
--- a/tools/bugpoint/ExecutionDriver.cpp
+++ b/tools/bugpoint/ExecutionDriver.cpp
@@ -320,7 +320,7 @@
 bool BugDriver::createReferenceFile(Module *M, const std::string &Filename) {
   try {
     compileProgram(Program);
-  } catch (ToolExecutionError &TEE) {
+  } catch (ToolExecutionError &) {
     return false;
   }
   try {
diff --git a/tools/llvm-ld/llvm-ld.cpp b/tools/llvm-ld/llvm-ld.cpp
index ab7109f..a7f15a9 100644
--- a/tools/llvm-ld/llvm-ld.cpp
+++ b/tools/llvm-ld/llvm-ld.cpp
@@ -499,7 +499,7 @@
           // Get the program arguments
           sys::Path tmp_output("opt_result");
           std::string ErrMsg;
-          if (tmp_output.createTemporaryFileOnDisk(&ErrMsg)) {
+          if (tmp_output.createTemporaryFileOnDisk(true)) {
             return PrintAndReturn(ErrMsg);
           }
           const char* args[4];
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp
index b403c84..6466b5f 100644
--- a/utils/TableGen/AsmWriterEmitter.cpp
+++ b/utils/TableGen/AsmWriterEmitter.cpp
@@ -69,7 +69,8 @@
 }
 
 namespace llvm {
-  struct AsmWriterInst {
+  class AsmWriterInst {
+  public:
     std::vector<AsmWriterOperand> Operands;
     const CodeGenInstruction *CGI;
 
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h
index c5b4c3c..e1c4c7d 100644
--- a/utils/TableGen/CodeGenInstruction.h
+++ b/utils/TableGen/CodeGenInstruction.h
@@ -23,7 +23,8 @@
   class Record;
   class DagInit;
 
-  struct CodeGenInstruction {
+  class CodeGenInstruction {
+  public:
     Record *TheDef;            // The actual record defining this instruction.
     std::string Name;          // Contents of the 'Name' field.
     std::string Namespace;     // The namespace the instruction is in.
diff --git a/utils/TableGen/FileLexer.l b/utils/TableGen/FileLexer.l
index c1a7ec0..653e9d1 100644
--- a/utils/TableGen/FileLexer.l
+++ b/utils/TableGen/FileLexer.l
@@ -27,6 +27,7 @@
 %x comment
 
 %{
+#include "llvm/Config/config.h"
 #include "Record.h"
 typedef std::pair<llvm::Record*, std::vector<llvm::Init*>*> SubClassRefTy;
 #include "FileParser.h"
diff --git a/utils/TableGen/InstrInfoEmitter.h b/utils/TableGen/InstrInfoEmitter.h
index b10c0e1..8d27305 100644
--- a/utils/TableGen/InstrInfoEmitter.h
+++ b/utils/TableGen/InstrInfoEmitter.h
@@ -24,7 +24,7 @@
 class StringInit;
 class IntInit;
 class ListInit;
-struct CodeGenInstruction;
+class CodeGenInstruction;
 
 class InstrInfoEmitter : public TableGenBackend {
   RecordKeeper &Records;
diff --git a/win32/Analysis/Analysis.vcproj b/win32/Analysis/Analysis.vcproj
index 77476cb..70af36b 100644
--- a/win32/Analysis/Analysis.vcproj
+++ b/win32/Analysis/Analysis.vcproj
@@ -197,6 +197,9 @@
 					RelativePath="..\..\lib\Analysis\DataStructure\BottomUpClosure.cpp">
 				</File>
 				<File
+					RelativePath="..\..\lib\Analysis\DataStructure\CallTargets.cpp">
+				</File>
+				<File
 					RelativePath="..\..\lib\Analysis\DataStructure\CompleteBottomUp.cpp">
 				</File>
 				<File
@@ -317,6 +320,9 @@
 				Name="DataStructure"
 				Filter="">
 				<File
+					RelativePath="..\..\include\llvm\Analysis\DataStructure\CallTargets.h">
+				</File>
+				<File
 					RelativePath="..\..\include\llvm\Analysis\DataStructure\DataStructure.h">
 				</File>
 				<File
diff --git a/win32/CodeGen/CodeGen.vcproj b/win32/CodeGen/CodeGen.vcproj
index 5d71d4c..f67c161 100644
--- a/win32/CodeGen/CodeGen.vcproj
+++ b/win32/CodeGen/CodeGen.vcproj
@@ -133,6 +133,9 @@
 				RelativePath="..\..\lib\CodeGen\LiveVariables.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\CodeGen\LLVMTargetMachine.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\CodeGen\MachineBasicBlock.cpp">
 			</File>
 			<File
@@ -145,6 +148,9 @@
 				RelativePath="..\..\lib\CodeGen\MachineInstr.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\CodeGen\MachinePassRegistry.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\CodeGen\Passes.cpp">
 			</File>
 			<File
@@ -169,9 +175,6 @@
 				RelativePath="..\..\lib\CodeGen\UnreachableBlockElim.cpp">
 			</File>
 			<File
-				RelativePath="..\..\lib\CodeGen\ValueTypes.cpp">
-			</File>
-			<File
 				RelativePath="..\..\lib\CodeGen\VirtRegMap.cpp">
 			</File>
 			<Filter
@@ -190,6 +193,9 @@
 					RelativePath="..\..\lib\CodeGen\SelectionDAG\ScheduleDAGList.cpp">
 				</File>
 				<File
+					RelativePath="..\..\lib\CodeGen\SelectionDAG\ScheduleDAGRRList.cpp">
+				</File>
+				<File
 					RelativePath="..\..\lib\CodeGen\SelectionDAG\ScheduleDAGSimple.cpp">
 				</File>
 				<File
@@ -201,6 +207,9 @@
 				<File
 					RelativePath="..\..\lib\CodeGen\SelectionDAG\SelectionDAGPrinter.cpp">
 				</File>
+				<File
+					RelativePath="..\..\lib\CodeGen\SelectionDAG\TargetLowering.cpp">
+				</File>
 			</Filter>
 		</Filter>
 		<Filter
@@ -223,6 +232,9 @@
 				RelativePath="..\..\include\llvm\CodeGen\IntrinsicLowering.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\CodeGen\LinkAllCodegenComponents.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\CodeGen\LiveInterval.h">
 			</File>
 			<File
@@ -262,21 +274,33 @@
 				RelativePath="..\..\include\llvm\CodeGen\MachineLocation.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\CodeGen\MachinePassRegistry.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\CodeGen\MachineRelocation.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\CodeGen\MachOWriter.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\CodeGen\Passes.h">
 			</File>
 			<File
 				RelativePath="..\..\lib\CodeGen\PhysRegTracker.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\CodeGen\RegAllocRegistry.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\CodeGen\SchedGraphCommon.h">
 			</File>
 			<File
 				RelativePath="..\..\include\llvm\CodeGen\ScheduleDAG.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\CodeGen\SchedulerRegistry.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\CodeGen\SelectionDAG.h">
 			</File>
 			<File
@@ -289,9 +313,6 @@
 				RelativePath="..\..\include\llvm\CodeGen\SSARegMap.h">
 			</File>
 			<File
-				RelativePath="..\..\include\llvm\CodeGen\ValueSet.h">
-			</File>
-			<File
 				RelativePath="..\..\include\llvm\CodeGen\ValueTypes.h">
 			</File>
 			<File
diff --git a/win32/Support/Support.vcproj b/win32/Support/Support.vcproj
index e0b38c6..0da1c3f 100644
--- a/win32/Support/Support.vcproj
+++ b/win32/Support/Support.vcproj
@@ -110,6 +110,9 @@
 			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
 			<File
+				RelativePath="..\..\lib\Support\Allocator.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Support\Annotation.cpp">
 			</File>
 			<File
@@ -125,6 +128,9 @@
 				</FileConfiguration>
 			</File>
 			<File
+				RelativePath="..\..\lib\Support\CStringMap.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Support\Debug.cpp">
 			</File>
 			<File
@@ -134,12 +140,21 @@
 				RelativePath="..\..\lib\Support\FileUtilities.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\Support\FoldingSet.cpp">
+			</File>
+			<File
+				RelativePath="..\..\lib\Support\GraphWriter.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Support\IsInf.cpp">
 			</File>
 			<File
 				RelativePath="..\..\lib\Support\IsNAN.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\Support\ManagedStatic.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Support\PluginLoader.cpp">
 			</File>
 			<File
@@ -169,9 +184,6 @@
 			<File
 				RelativePath="..\..\lib\Support\Timer.cpp">
 			</File>
-			<File
-				RelativePath="..\..\lib\Support\ToolRunner.cpp">
-			</File>
 			<Filter
 				Name="bzip2"
 				Filter="">
@@ -212,6 +224,9 @@
 				RelativePath="..\..\include\llvm\Support\AIXDataTypesFix.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\Support\Allocator.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Support\Annotation.h">
 			</File>
 			<File
@@ -227,6 +242,9 @@
 				RelativePath="..\..\include\llvm\Support\CommandLine.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\Support\Compiler.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Support\Compressor.h">
 			</File>
 			<File
@@ -272,6 +290,9 @@
 				RelativePath="..\..\include\llvm\Support\MallocAllocator.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\Support\ManagedStatic.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Support\Mangler.h">
 			</File>
 			<File
@@ -305,9 +326,6 @@
 				RelativePath="..\..\include\llvm\Support\Timer.h">
 			</File>
 			<File
-				RelativePath="..\..\include\llvm\Support\ToolRunner.h">
-			</File>
-			<File
 				RelativePath="..\..\include\llvm\Support\type_traits.h">
 			</File>
 			<File
@@ -321,6 +339,9 @@
 				RelativePath="..\..\include\llvm\Adt\BitSetVector.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\ADT\CStringMap.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Adt\DenseMap.h">
 			</File>
 			<File
@@ -330,6 +351,9 @@
 				RelativePath="..\..\include\llvm\Adt\EquivalenceClasses.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\ADT\FoldingSet.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Adt\GraphTraits.h">
 			</File>
 			<File
@@ -360,6 +384,12 @@
 				RelativePath="..\..\include\llvm\Adt\SetVector.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\ADT\SmallString.h">
+			</File>
+			<File
+				RelativePath="..\..\include\llvm\ADT\SmallVector.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Adt\Statistic.h">
 			</File>
 			<File
diff --git a/win32/System/System.vcproj b/win32/System/System.vcproj
index 61ed4e7..1286da3 100644
--- a/win32/System/System.vcproj
+++ b/win32/System/System.vcproj
@@ -110,9 +110,15 @@
 			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
 			<File
+				RelativePath="..\..\lib\System\Alarm.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\System\DynamicLibrary.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\System\IncludeFile.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\System\MappedFile.cpp">
 			</File>
 			<File
@@ -142,9 +148,15 @@
 			Filter="h;hpp;hxx;hm;inl;inc;xsd"
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
 			<File
+				RelativePath="..\..\include\llvm\System\Alarm.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\System\DynamicLibrary.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\System\IncludeFile.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\System\MappedFile.h">
 			</File>
 			<File
diff --git a/win32/Target/Target.vcproj b/win32/Target/Target.vcproj
index 35788cc..36d5ec9 100644
--- a/win32/Target/Target.vcproj
+++ b/win32/Target/Target.vcproj
@@ -115,6 +115,9 @@
 				RelativePath="..\..\lib\Target\SubtargetFeature.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\Target\TargetAsmInfo.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Target\TargetData.cpp">
 			</File>
 			<File
@@ -124,9 +127,6 @@
 				RelativePath="..\..\lib\Target\TargetInstrInfo.cpp">
 			</File>
 			<File
-				RelativePath="..\..\lib\Target\TargetLowering.cpp">
-			</File>
-			<File
 				RelativePath="..\..\lib\Target\TargetMachine.cpp">
 			</File>
 			<File
@@ -147,6 +147,9 @@
 				RelativePath="..\..\include\llvm\Target\SubtargetFeature.h">
 			</File>
 			<File
+				RelativePath="..\..\include\llvm\Target\TargetAsmInfo.h">
+			</File>
+			<File
 				RelativePath="..\..\include\llvm\Target\TargetData.h">
 			</File>
 			<File
diff --git a/win32/Transforms/Transforms.vcproj b/win32/Transforms/Transforms.vcproj
index 0978713..c2449e9 100644
--- a/win32/Transforms/Transforms.vcproj
+++ b/win32/Transforms/Transforms.vcproj
@@ -261,25 +261,13 @@
 					RelativePath="..\..\lib\Transforms\Scalar\LoopUnswitch.cpp">
 				</File>
 				<File
-					RelativePath="..\..\lib\Transforms\Scalar\LowerAllocations.cpp">
-				</File>
-				<File
 					RelativePath="..\..\lib\Transforms\Scalar\LowerGC.cpp">
 				</File>
 				<File
-					RelativePath="..\..\lib\Transforms\Scalar\LowerInvoke.cpp">
-				</File>
-				<File
 					RelativePath="..\..\lib\Transforms\Scalar\LowerPacked.cpp">
 				</File>
 				<File
-					RelativePath="..\..\lib\Transforms\Scalar\LowerSelect.cpp">
-				</File>
-				<File
-					RelativePath="..\..\lib\Transforms\Scalar\LowerSwitch.cpp">
-				</File>
-				<File
-					RelativePath="..\..\lib\Transforms\Scalar\Mem2Reg.cpp">
+					RelativePath="..\..\lib\Transforms\Scalar\PredicateSimplifier.cpp">
 				</File>
 				<File
 					RelativePath="..\..\lib\Transforms\Scalar\Reassociate.cpp">
@@ -335,12 +323,30 @@
 					RelativePath="..\..\lib\Transforms\Utils\InlineFunction.cpp">
 				</File>
 				<File
+					RelativePath="..\..\lib\Transforms\Utils\LCSSA.cpp">
+				</File>
+				<File
 					RelativePath="..\..\lib\Transforms\Utils\Local.cpp">
 				</File>
 				<File
 					RelativePath="..\..\lib\Transforms\Utils\LoopSimplify.cpp">
 				</File>
 				<File
+					RelativePath="..\..\lib\Transforms\Utils\LowerAllocations.cpp">
+				</File>
+				<File
+					RelativePath="..\..\lib\Transforms\Utils\LowerInvoke.cpp">
+				</File>
+				<File
+					RelativePath="..\..\lib\Transforms\Utils\LowerSelect.cpp">
+				</File>
+				<File
+					RelativePath="..\..\lib\Transforms\Utils\LowerSwitch.cpp">
+				</File>
+				<File
+					RelativePath="..\..\lib\Transforms\Utils\Mem2Reg.cpp">
+				</File>
+				<File
 					RelativePath="..\..\lib\Transforms\Utils\PromoteMemoryToRegister.cpp">
 				</File>
 				<File
@@ -389,9 +395,6 @@
 				RelativePath="..\..\include\llvm\Transforms\IPO.h">
 			</File>
 			<File
-				RelativePath="..\..\include\llvm\Transforms\LinkAllPasses.h">
-			</File>
-			<File
 				RelativePath="..\..\include\llvm\Transforms\Utils\Local.h">
 			</File>
 			<File
diff --git a/win32/VMCore/VMCore.vcproj b/win32/VMCore/VMCore.vcproj
index a0ca598..78039b8 100644
--- a/win32/VMCore/VMCore.vcproj
+++ b/win32/VMCore/VMCore.vcproj
@@ -199,6 +199,9 @@
 				RelativePath="..\..\lib\VMCore\ValueSymbolTable.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\VMCore\ValueTypes.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\VMCore\Verifier.cpp">
 			</File>
 		</Filter>
diff --git a/win32/analyze/analyze.vcproj b/win32/analyze/analyze.vcproj
index 94180fb..6382eeb 100644
--- a/win32/analyze/analyze.vcproj
+++ b/win32/analyze/analyze.vcproj
@@ -124,15 +124,6 @@
 			Name="Source Files"
 			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File
-				RelativePath="..\..\tools\analyze\AnalysisWrappers.cpp">
-			</File>
-			<File
-				RelativePath="..\..\tools\analyze\analyze.cpp">
-			</File>
-			<File
-				RelativePath="..\..\tools\analyze\GraphPrinters.cpp">
-			</File>
 		</Filter>
 		<Filter
 			Name="Header Files"
diff --git a/win32/bugpoint/bugpoint.vcproj b/win32/bugpoint/bugpoint.vcproj
index 55392cb..ab340e8 100644
--- a/win32/bugpoint/bugpoint.vcproj
+++ b/win32/bugpoint/bugpoint.vcproj
@@ -140,6 +140,9 @@
 				RelativePath="..\..\tools\bugpoint\ExtractFunction.cpp">
 			</File>
 			<File
+				RelativePath="..\..\tools\bugpoint\FindBugs.cpp">
+			</File>
+			<File
 				RelativePath="..\..\tools\bugpoint\Miscompilation.cpp">
 			</File>
 			<File
@@ -148,6 +151,9 @@
 			<File
 				RelativePath="..\..\tools\bugpoint\TestPasses.cpp">
 			</File>
+			<File
+				RelativePath="..\..\tools\bugpoint\ToolRunner.cpp">
+			</File>
 		</Filter>
 		<Filter
 			Name="Header Files"
@@ -159,6 +165,9 @@
 			<File
 				RelativePath="..\..\tools\bugpoint\ListReducer.h">
 			</File>
+			<File
+				RelativePath="..\..\tools\bugpoint\ToolRunner.h">
+			</File>
 		</Filter>
 	</Files>
 	<Globals>
diff --git a/win32/config.h b/win32/config.h
index 05ee990..5783636 100644
--- a/win32/config.h
+++ b/win32/config.h
@@ -20,3 +20,5 @@
 #define LTDL_SHLIB_EXT ".dll" 
 #define LTDL_SYSSEARCHPATH "" 
 #define LLVM_ON_WIN32 1 
+
+#define strtoll strtol
diff --git a/win32/llvm.sln b/win32/llvm.sln
index 3ef216e..07e65bf 100644
--- a/win32/llvm.sln
+++ b/win32/llvm.sln
@@ -220,19 +220,6 @@
 		{0F8407F3-FA23-4CF1-83A9-DCBE0B361489} = {0F8407F3-FA23-4CF1-83A9-DCBE0B361489}
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "analyze", "analyze\analyze.vcproj", "{DF8506B5-28D2-4D2E-9A6C-57D5BC98BF76}"
-	ProjectSection(ProjectDependencies) = postProject
-		{0622E827-8464-489D-8B1C-B0B496F35C08} = {0622E827-8464-489D-8B1C-B0B496F35C08}
-		{28AA9146-3482-4F41-9CC6-407B1D258508} = {28AA9146-3482-4F41-9CC6-407B1D258508}
-		{19514E48-456C-4B9D-8637-F2285476461E} = {19514E48-456C-4B9D-8637-F2285476461E}
-		{F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61} = {F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61}
-		{059FBAB8-C76D-48A0-AA75-3C57BD3EAFE4} = {059FBAB8-C76D-48A0-AA75-3C57BD3EAFE4}
-		{C59374C1-9FC0-4147-B836-327DFDC52D99} = {C59374C1-9FC0-4147-B836-327DFDC52D99}
-		{45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB} = {45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB}
-		{0F8407F3-FA23-4CF1-83A9-DCBE0B361489} = {0F8407F3-FA23-4CF1-83A9-DCBE0B361489}
-		{3DC216F5-1DDD-478A-84F8-C124E5C31982} = {3DC216F5-1DDD-478A-84F8-C124E5C31982}
-	EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bugpoint", "bugpoint\bugpoint.vcproj", "{57249192-8E29-4D85-8B7A-FEFF1760B1DA}"
 	ProjectSection(ProjectDependencies) = postProject
 		{0622E827-8464-489D-8B1C-B0B496F35C08} = {0622E827-8464-489D-8B1C-B0B496F35C08}
@@ -252,6 +239,8 @@
 		Debug = Debug
 		Release = Release
 	EndGlobalSection
+	GlobalSection(ProjectDependencies) = postSolution
+	EndGlobalSection
 	GlobalSection(ProjectConfiguration) = postSolution
 		{28AA9146-3482-4F41-9CC6-407B1D258508}.Debug.ActiveCfg = Debug|Win32
 		{28AA9146-3482-4F41-9CC6-407B1D258508}.Debug.Build.0 = Debug|Win32
@@ -365,10 +354,6 @@
 		{ACBE81D9-64B1-4133-823A-807A4E60B454}.Debug.Build.0 = Debug|Win32
 		{ACBE81D9-64B1-4133-823A-807A4E60B454}.Release.ActiveCfg = Release|Win32
 		{ACBE81D9-64B1-4133-823A-807A4E60B454}.Release.Build.0 = Release|Win32
-		{DF8506B5-28D2-4D2E-9A6C-57D5BC98BF76}.Debug.ActiveCfg = Debug|Win32
-		{DF8506B5-28D2-4D2E-9A6C-57D5BC98BF76}.Debug.Build.0 = Debug|Win32
-		{DF8506B5-28D2-4D2E-9A6C-57D5BC98BF76}.Release.ActiveCfg = Release|Win32
-		{DF8506B5-28D2-4D2E-9A6C-57D5BC98BF76}.Release.Build.0 = Release|Win32
 		{57249192-8E29-4D85-8B7A-FEFF1760B1DA}.Debug.ActiveCfg = Debug|Win32
 		{57249192-8E29-4D85-8B7A-FEFF1760B1DA}.Debug.Build.0 = Debug|Win32
 		{57249192-8E29-4D85-8B7A-FEFF1760B1DA}.Release.ActiveCfg = Release|Win32
diff --git a/win32/opt/opt.vcproj b/win32/opt/opt.vcproj
index 9dd6c48..44df0ed 100644
--- a/win32/opt/opt.vcproj
+++ b/win32/opt/opt.vcproj
@@ -125,8 +125,17 @@
 			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
 			<File
+				RelativePath="..\..\tools\opt\AnalysisWrappers.cpp">
+			</File>
+			<File
+				RelativePath="..\..\tools\opt\GraphPrinters.cpp">
+			</File>
+			<File
 				RelativePath="..\..\tools\opt\opt.cpp">
 			</File>
+			<File
+				RelativePath="..\..\tools\opt\PrintSCC.cpp">
+			</File>
 		</Filter>
 		<Filter
 			Name="Header Files"
diff --git a/win32/x86/x86.vcproj b/win32/x86/x86.vcproj
index f58b568..088d785 100644
--- a/win32/x86/x86.vcproj
+++ b/win32/x86/x86.vcproj
@@ -116,15 +116,15 @@
 					<Tool
 						Name="VCCustomBuildTool"
 						Description="Performing TableGen Step"
-						CommandLine="..\$(IntDir)\TableGen.exe -gen-register-enums -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterNames.inc
-..\$(IntDir)\TableGen.exe -gen-register-desc-header -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.h.inc
-..\$(IntDir)\TableGen.exe -gen-register-desc -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.inc
-..\$(IntDir)\TableGen.exe -gen-instr-enums -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrNames.inc
-..\$(IntDir)\TableGen.exe -gen-instr-desc -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrInfo.inc
-..\$(IntDir)\TableGen.exe -gen-asm-writer -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter.inc
-..\$(IntDir)\TableGen.exe -gen-asm-writer -asmwriternum=1 -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter1.inc
-..\$(IntDir)\TableGen.exe -gen-dag-isel -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenDAGISel.inc
-..\$(IntDir)\TableGen.exe -gen-subtarget -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenSubtarget.inc
+						CommandLine="..\$(IntDir)\TableGen.exe -gen-register-enums -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterNames.inc
+..\$(IntDir)\TableGen.exe -gen-register-desc-header -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.h.inc
+..\$(IntDir)\TableGen.exe -gen-register-desc -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.inc
+..\$(IntDir)\TableGen.exe -gen-instr-enums -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrNames.inc
+..\$(IntDir)\TableGen.exe -gen-instr-desc -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrInfo.inc
+..\$(IntDir)\TableGen.exe -gen-asm-writer -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter.inc
+..\$(IntDir)\TableGen.exe -gen-asm-writer -asmwriternum=1 -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter1.inc
+..\$(IntDir)\TableGen.exe -gen-dag-isel -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenDAGISel.inc
+..\$(IntDir)\TableGen.exe -gen-subtarget -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenSubtarget.inc
 "
 						AdditionalDependencies="$(InputDir)X86InstrInfo.td;$(InputDir)X86RegisterInfo.td;$(InputDir)X86InstrFPStack.td;$(InputDir)X86InstrMMX.td;$(InputDir)X86InstrSSE.td;$(InputDir)..\Target.td;$(InputDir)..\TargetSchedule.td;$(InputDir)..\TargetScheduleDAG.td;$(ProjectDir)..\$(IntDir)\TableGen.exe"
 						Outputs="X86GenRegisterNames.inc;X86GenRegisterInfo.h.inc;X86GenRegisterInfo.inc;X86GenInstrNames.inc;X86GenInstrInfo.inc;X86GenAsmWriter.inc;X86GenAsmWriter1.inc;X86GenDAGISel.inc;X86GenSubtarget.inc"/>
@@ -134,15 +134,15 @@
 					<Tool
 						Name="VCCustomBuildTool"
 						Description="Performing TableGen Step"
-						CommandLine="..\$(IntDir)\TableGen.exe -gen-register-enums -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterNames.inc
-..\$(IntDir)\TableGen.exe -gen-register-desc-header -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.h.inc
-..\$(IntDir)\TableGen.exe -gen-register-desc -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.inc
-..\$(IntDir)\TableGen.exe -gen-instr-enums -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrNames.inc
-..\$(IntDir)\TableGen.exe -gen-instr-desc -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrInfo.inc
-..\$(IntDir)\TableGen.exe -gen-asm-writer -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter.inc
-..\$(IntDir)\TableGen.exe -gen-asm-writer -asmwriternum=1 -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter1.inc
-..\$(IntDir)\TableGen.exe -gen-dag-isel -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenDAGISel.inc
-..\$(IntDir)\TableGen.exe -gen-subtarget -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenSubtarget.inc
+						CommandLine="..\$(IntDir)\TableGen.exe -gen-register-enums -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterNames.inc
+..\$(IntDir)\TableGen.exe -gen-register-desc-header -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.h.inc
+..\$(IntDir)\TableGen.exe -gen-register-desc -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenRegisterInfo.inc
+..\$(IntDir)\TableGen.exe -gen-instr-enums -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrNames.inc
+..\$(IntDir)\TableGen.exe -gen-instr-desc -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenInstrInfo.inc
+..\$(IntDir)\TableGen.exe -gen-asm-writer -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter.inc
+..\$(IntDir)\TableGen.exe -gen-asm-writer -asmwriternum=1 -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenAsmWriter1.inc
+..\$(IntDir)\TableGen.exe -gen-dag-isel -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenDAGISel.inc
+..\$(IntDir)\TableGen.exe -gen-subtarget -I ..\..\lib\Target -I ..\..\lib\Target\X86 -I ..\..\include $(InputPath) -o X86GenSubtarget.inc
 "
 						AdditionalDependencies="$(InputDir)X86InstrInfo.td;$(InputDir)X86RegisterInfo.td;$(InputDir)X86InstrFPStack.td;$(InputDir)X86InstrMMX.td;$(InputDir)X86InstrSSE.td;$(InputDir)..\Target.td;$(InputDir)..\TargetSchedule.td;$(InputDir)..\TargetScheduleDAG.td;$(ProjectDir)..\$(IntDir)\TableGen.exe"
 						Outputs="X86GenRegisterNames.inc;X86GenRegisterInfo.h.inc;X86GenRegisterInfo.inc;X86GenInstrNames.inc;X86GenInstrInfo.inc;X86GenAsmWriter.inc;X86GenAsmWriter1.inc;X86GenDAGISel.inc;X86GenSubtarget.inc"/>
@@ -167,6 +167,9 @@
 				RelativePath="..\..\lib\Target\X86\X86InstrInfo.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\Target\X86\X86InstrX86-64.td">
+			</File>
+			<File
 				RelativePath="..\..\lib\Target\X86\X86IntelAsmPrinter.cpp">
 			</File>
 			<File
@@ -185,6 +188,9 @@
 				RelativePath="..\..\lib\Target\X86\X86Subtarget.cpp">
 			</File>
 			<File
+				RelativePath="..\..\lib\Target\X86\X86TargetAsmInfo.cpp">
+			</File>
+			<File
 				RelativePath="..\..\lib\Target\X86\X86TargetMachine.cpp">
 			</File>
 		</Filter>
@@ -235,6 +241,9 @@
 				RelativePath="..\..\lib\Target\X86\X86JITInfo.h">
 			</File>
 			<File
+				RelativePath="..\..\lib\Target\X86\X86MachineFunctionInfo.h">
+			</File>
+			<File
 				RelativePath="..\..\lib\Target\X86\X86RegisterInfo.h">
 			</File>
 			<File
@@ -244,6 +253,9 @@
 				RelativePath="..\..\lib\Target\X86\X86Subtarget.h">
 			</File>
 			<File
+				RelativePath="..\..\lib\Target\X86\X86TargetAsmInfo.h">
+			</File>
+			<File
 				RelativePath="..\..\lib\Target\X86\X86TargetMachine.h">
 			</File>
 		</Filter>