[ptr-traits] Sink a constructor definition to the .cpp file and add
authorChandler Carruth <chandlerc@gmail.com>
Tue, 29 Dec 2015 09:24:39 +0000 (09:24 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 29 Dec 2015 09:24:39 +0000 (09:24 +0000)
missing includes so that the pointee types for DenseMap pointer keys and
such are complete prior to us querying the pointer traits for them.

This is part of a series of patches to allow LLVM to check for complete
pointee types when computing its pointer traits. This is absolutely
necessary to get correct (or reproducible) results for things like how
many low bits are guaranteed to be zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256550 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/WinEHFuncInfo.h
lib/CodeGen/WinEHPrepare.cpp

index 86ecce3561a606d924a2ccd3dd55fc7819dac9a4..70d558f5cfbd35ecd0f444bd7fc2e3525b1e0c66 100644 (file)
@@ -110,7 +110,7 @@ struct WinEHFuncInfo {
   int EHRegNodeEndOffset = INT_MAX;
   int SEHSetFrameOffset = INT_MAX;
 
-  WinEHFuncInfo() {}
+  WinEHFuncInfo();
 };
 
 /// Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which
index dc9f78f006a71a157b34378ea0df4edb8036f9da..52fb922c935a9c726e255e6405d6aef375d58d20 100644 (file)
@@ -20,7 +20,9 @@
 #include "llvm/ADT/MapVector.h"
 #include "llvm/Analysis/CFG.h"
 #include "llvm/Analysis/EHPersonalities.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/CodeGen/WinEHFuncInfo.h"
+#include "llvm/MC/MCSymbol.h"
 #include "llvm/Pass.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/raw_ostream.h"
@@ -1078,3 +1080,5 @@ void WinEHFuncInfo::addIPToStateRange(const InvokeInst *II,
          "should get invoke with precomputed state");
   LabelToStateMap[InvokeBegin] = std::make_pair(InvokeStateMap[II], InvokeEnd);
 }
+
+WinEHFuncInfo::WinEHFuncInfo() {}