summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2016-07-11 17:00:31 +0000
committerDavide Italiano <davide@freebsd.org>2016-07-11 17:00:31 +0000
commitabd1b54b3041ff09665891634f480c47997cdea8 (patch)
tree954c3b3b766efbe0242dfa3e7ec01e3bbec3f0cd
parentbc3b9e5114d64e5984e9f0bb89611056454f5ca0 (diff)
[LowerTypeTests] Don't rely on doInitialization().
In preparation for porting this pass to the new PM (which has no doInitialization()). Differential Revision: http://reviews.llvm.org/D22223 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275074 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Transforms/IPO/LowerTypeTests.cpp39
1 files changed, 16 insertions, 23 deletions
diff --git a/lib/Transforms/IPO/LowerTypeTests.cpp b/lib/Transforms/IPO/LowerTypeTests.cpp
index 06e66468c83..67c9b971e35 100644
--- a/lib/Transforms/IPO/LowerTypeTests.cpp
+++ b/lib/Transforms/IPO/LowerTypeTests.cpp
@@ -253,8 +253,6 @@ struct LowerTypeTests : public ModulePass {
void buildBitSetsFromDisjointSet(ArrayRef<Metadata *> TypeIds,
ArrayRef<GlobalObject *> Globals);
bool lower();
-
- bool doInitialization(Module &M) override;
bool runOnModule(Module &M) override;
};
@@ -266,27 +264,6 @@ char LowerTypeTests::ID = 0;
ModulePass *llvm::createLowerTypeTestsPass() { return new LowerTypeTests; }
-bool LowerTypeTests::doInitialization(Module &Mod) {
- M = &Mod;
- const DataLayout &DL = Mod.getDataLayout();
-
- Triple TargetTriple(M->getTargetTriple());
- LinkerSubsectionsViaSymbols = TargetTriple.isMacOSX();
- Arch = TargetTriple.getArch();
- ObjectFormat = TargetTriple.getObjectFormat();
-
- Int1Ty = Type::getInt1Ty(M->getContext());
- Int8Ty = Type::getInt8Ty(M->getContext());
- Int32Ty = Type::getInt32Ty(M->getContext());
- Int32PtrTy = PointerType::getUnqual(Int32Ty);
- Int64Ty = Type::getInt64Ty(M->getContext());
- IntPtrTy = DL.getIntPtrType(M->getContext(), 0);
-
- TypeTestCallSites.clear();
-
- return false;
-}
-
/// Build a bit set for TypeId using the object layouts in
/// GlobalLayout.
BitSetInfo LowerTypeTests::buildBitSet(
@@ -1012,5 +989,21 @@ bool LowerTypeTests::runOnModule(Module &M) {
if (skipModule(M))
return false;
+ this->M = &M;
+ const DataLayout &DL = M.getDataLayout();
+
+ Triple TargetTriple(M.getTargetTriple());
+ LinkerSubsectionsViaSymbols = TargetTriple.isMacOSX();
+ Arch = TargetTriple.getArch();
+ ObjectFormat = TargetTriple.getObjectFormat();
+
+ Int1Ty = Type::getInt1Ty(M.getContext());
+ Int8Ty = Type::getInt8Ty(M.getContext());
+ Int32Ty = Type::getInt32Ty(M.getContext());
+ Int32PtrTy = PointerType::getUnqual(Int32Ty);
+ Int64Ty = Type::getInt64Ty(M.getContext());
+ IntPtrTy = DL.getIntPtrType(M.getContext(), 0);
+
+ TypeTestCallSites.clear();
return lower();
}