  //
  //                     The LLVM Compiler Infrastructure
  //
-@@ -32,15 +32,9 @@
+@@ -11,6 +11,7 @@
+ //
+ //===----------------------------------------------------------------------===//
+ 
++#include "llvm/ADT/DenseSet.h"
+ #include "Windows.h"
+ 
+ #ifdef __MINGW32__
+@@ -32,15 +33,9 @@
  #endif
  
  namespace llvm {

 extern "C" {
 
   static BOOL CALLBACK ELM_Callback(WIN32_ELMCB_PCSTR ModuleName,
@@ -48,6 +42,8 @@ extern "C" {
                                     ULONG ModuleSize,
                                     PVOID UserContext)
   {

     // Ignore VC++ runtimes prior to 7.1.  Somehow some of them get loaded
     // into the process.
     if (stricmp(ModuleName, "msvci70") != 0 &&
@@ -63,101 +60,62 @@ extern "C" {
 #endif
         stricmp(ModuleName, "msvcrt20") != 0 &&
         stricmp(ModuleName, "msvcrt40") != 0) {
