Fixes for DataLayout moved from pass to Module. NFC intended.
llvm-svn: 231377
diff --git a/poolalloc/include/assistDS/Devirt.h b/poolalloc/include/assistDS/Devirt.h
index 0dba3ac..686e7b7 100644
--- a/poolalloc/include/assistDS/Devirt.h
+++ b/poolalloc/include/assistDS/Devirt.h
@@ -22,7 +22,6 @@
#include "llvm/IR/Instructions.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/InstVisitor.h"
-#include "llvm/IR/DataLayout.h"
using namespace llvm;
@@ -40,9 +39,6 @@
// Access to analysis pass which finds targets of indirect function calls
dsa::CallTargetFinder<EQTDDataStructures> *CTF;
- // Access to the target data analysis pass
- const DataLayout * TD;
-
// Worklist of call sites to transform
std::vector<Instruction *> Worklist;
@@ -63,7 +59,6 @@
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<dsa::CallTargetFinder<EQTDDataStructures> >();
- AU.addRequired<DataLayoutPass>();
}
// Visitor methods for analyzing instructions
diff --git a/poolalloc/include/assistDS/Int2PtrCmp.h b/poolalloc/include/assistDS/Int2PtrCmp.h
index 414b2ed..d81a9ea 100644
--- a/poolalloc/include/assistDS/Int2PtrCmp.h
+++ b/poolalloc/include/assistDS/Int2PtrCmp.h
@@ -13,7 +13,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
@@ -25,16 +24,10 @@
//
//
class Int2PtrCmp : public ModulePass {
- private:
- const DataLayout * TD;
public:
static char ID;
Int2PtrCmp() : ModulePass(ID) {}
virtual bool runOnModule(Module& M);
- virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
- }
-
};
}
diff --git a/poolalloc/include/assistDS/MergeGEP.h b/poolalloc/include/assistDS/MergeGEP.h
index 012346d..4af6672 100644
--- a/poolalloc/include/assistDS/MergeGEP.h
+++ b/poolalloc/include/assistDS/MergeGEP.h
@@ -11,7 +11,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
diff --git a/poolalloc/include/assistDS/SimplifyGEP.h b/poolalloc/include/assistDS/SimplifyGEP.h
index 5501509..729d6c5 100644
--- a/poolalloc/include/assistDS/SimplifyGEP.h
+++ b/poolalloc/include/assistDS/SimplifyGEP.h
@@ -11,7 +11,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
@@ -21,15 +20,10 @@
// Class: SimplifyGEP
//
class SimplifyGEP : public ModulePass {
- private:
- const DataLayout * TD;
public:
static char ID;
SimplifyGEP() : ModulePass(ID) {}
virtual bool runOnModule(Module& M);
- virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
- }
};
}
diff --git a/poolalloc/include/assistDS/TypeChecks.h b/poolalloc/include/assistDS/TypeChecks.h
index 0d7b476..49500eb 100644
--- a/poolalloc/include/assistDS/TypeChecks.h
+++ b/poolalloc/include/assistDS/TypeChecks.h
@@ -16,9 +16,9 @@
#include "dsa/AddressTakenAnalysis.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Function.h"
+#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/Dominators.h"
@@ -100,7 +100,6 @@
virtual void print(raw_ostream &OS, const Module *M) const;
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
AU.addRequired<DominatorTreeWrapperPass>();
AU.addRequired<LoopInfoWrapperPass>();
AU.addRequired<AddressTakenAnalysis>();
diff --git a/poolalloc/include/assistDS/TypeChecksOpt.h b/poolalloc/include/assistDS/TypeChecksOpt.h
index 0bf0e5d..e87d577 100644
--- a/poolalloc/include/assistDS/TypeChecksOpt.h
+++ b/poolalloc/include/assistDS/TypeChecksOpt.h
@@ -17,7 +17,6 @@
#include "dsa/TypeSafety.h"
#include "llvm/Pass.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/CallSite.h"
diff --git a/poolalloc/include/dsa/DataStructure.h b/poolalloc/include/dsa/DataStructure.h
index bd2be48..2c5e5f5 100644
--- a/poolalloc/include/dsa/DataStructure.h
+++ b/poolalloc/include/dsa/DataStructure.h
@@ -21,8 +21,8 @@
#include "dsa/AllocatorIdentification.h"
#include "llvm/Pass.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/CallSite.h"
+#include "llvm/IR/Module.h"
#include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/ADT/DenseSet.h"
@@ -165,7 +165,6 @@
/// getAnalysisUsage - This obviously provides a data structure graph.
///
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
AU.setPreservesAll();
}
};
@@ -188,7 +187,6 @@
/// getAnalysisUsage - This obviously provides a data structure graph.
///
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
AU.addRequired<AddressTakenAnalysis>();
AU.setPreservesAll();
}
diff --git a/poolalloc/include/dsa/TypeSafety.h b/poolalloc/include/dsa/TypeSafety.h
index 3317997..d04ca2b 100644
--- a/poolalloc/include/dsa/TypeSafety.h
+++ b/poolalloc/include/dsa/TypeSafety.h
@@ -65,7 +65,6 @@
}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
AU.addRequired<dsa>();
AU.setPreservesAll();
}
diff --git a/poolalloc/lib/AssistDS/Devirt.cpp b/poolalloc/lib/AssistDS/Devirt.cpp
index b861a8f..f9824fc 100644
--- a/poolalloc/lib/AssistDS/Devirt.cpp
+++ b/poolalloc/lib/AssistDS/Devirt.cpp
@@ -395,12 +395,6 @@
//
CTF = &getAnalysis<dsa::CallTargetFinder<EQTDDataStructures> >();
- //
- // Get information on the target system.
- //
- //
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
-
// Visit all of the call instructions in this function and record those that
// are indirect function calls.
//
diff --git a/poolalloc/lib/AssistDS/DynCount.cpp b/poolalloc/lib/AssistDS/DynCount.cpp
index bdcac72..0ae134d 100644
--- a/poolalloc/lib/AssistDS/DynCount.cpp
+++ b/poolalloc/lib/AssistDS/DynCount.cpp
@@ -16,7 +16,6 @@
#include "llvm/IR/Module.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
#include "dsa/TypeSafety.h"
using namespace llvm;
@@ -34,7 +33,6 @@
}
virtual bool runOnModule (Module & M);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
AU.addRequired<dsa::TypeSafety<TDDataStructures> >();
}
};
diff --git a/poolalloc/lib/AssistDS/Int2PtrCmp.cpp b/poolalloc/lib/AssistDS/Int2PtrCmp.cpp
index 7242f12..7092f95 100644
--- a/poolalloc/lib/AssistDS/Int2PtrCmp.cpp
+++ b/poolalloc/lib/AssistDS/Int2PtrCmp.cpp
@@ -45,7 +45,7 @@
// false - The module was not modified.
//
bool Int2PtrCmp::runOnModule(Module& M) {
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
+ const DataLayout &TD = M.getDataLayout();
for (Module::iterator F = M.begin(); F != M.end(); ++F) {
for (Function::iterator B = F->begin(), FE = F->end(); B != FE; ++B) {
for (BasicBlock::iterator I = B->begin(), BE = B->end(); I != BE;) {
@@ -71,8 +71,8 @@
if (Constant *RHSC = dyn_cast<Constant>(Op1)) {
if (Instruction *LHSI = dyn_cast<Instruction>(Op0)){
if(LHSI->getOpcode() == Instruction::IntToPtr) {
- if (RHSC->isNullValue() && TD &&
- TD->getIntPtrType(RHSC->getContext(), 0) ==
+ if (RHSC->isNullValue() &&
+ TD.getIntPtrType(RHSC->getContext(), 0) ==
LHSI->getOperand(0)->getType()){
ICmpInst *CI_new = new ICmpInst(CI, CI->getPredicate(), LHSI->getOperand(0),
Constant::getNullValue(LHSI->getOperand(0)->getType()));
diff --git a/poolalloc/lib/AssistDS/SimplifyExtractValue.cpp b/poolalloc/lib/AssistDS/SimplifyExtractValue.cpp
index 5a4eb95..c2374aa 100644
--- a/poolalloc/lib/AssistDS/SimplifyExtractValue.cpp
+++ b/poolalloc/lib/AssistDS/SimplifyExtractValue.cpp
@@ -21,7 +21,6 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/PatternMatch.h"
-#include "llvm/IR/DataLayout.h"
#include <set>
#include <map>
diff --git a/poolalloc/lib/AssistDS/SimplifyGEP.cpp b/poolalloc/lib/AssistDS/SimplifyGEP.cpp
index 7aa3bf2..e918ff0 100644
--- a/poolalloc/lib/AssistDS/SimplifyGEP.cpp
+++ b/poolalloc/lib/AssistDS/SimplifyGEP.cpp
@@ -19,7 +19,7 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include <vector>
@@ -75,7 +75,7 @@
// false - The module was not modified.
//
bool SimplifyGEP::runOnModule(Module& M) {
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
+ const DataLayout &TD = M.getDataLayout();
preprocess(M);
for (Module::iterator F = M.begin(); F != M.end(); ++F){
for (Function::iterator B = F->begin(), FE = F->end(); B != FE; ++B) {
@@ -133,9 +133,9 @@
// into: %t1 = getelementptr [2 x i32]* %str, i32 0, i32 %V; bitcast
Type *SrcElTy = StrippedPtrTy->getElementType();
Type *ResElTy=cast<PointerType>(PtrOp->getType())->getElementType();
- if (TD && SrcElTy->isArrayTy() &&
- TD->getTypeAllocSize(cast<ArrayType>(SrcElTy)->getElementType()) ==
- TD->getTypeAllocSize(ResElTy)) {
+ if (SrcElTy->isArrayTy() &&
+ TD.getTypeAllocSize(cast<ArrayType>(SrcElTy)->getElementType()) ==
+ TD.getTypeAllocSize(ResElTy)) {
Value *Idx[2];
Idx[0] = Constant::getNullValue(Type::getInt32Ty(GEP->getContext()));
Idx[1] = GEP->getOperand(1);
@@ -151,9 +151,9 @@
// (where tmp = 8*tmp2) into:
// getelementptr [100 x double]* %arr, i32 0, i32 %tmp2; bitcast
- if (TD && SrcElTy->isArrayTy() && ResElTy->isIntegerTy(8)) {
+ if (SrcElTy->isArrayTy() && ResElTy->isIntegerTy(8)) {
uint64_t ArrayEltSize =
- TD->getTypeAllocSize(cast<ArrayType>(SrcElTy)->getElementType());
+ TD.getTypeAllocSize(cast<ArrayType>(SrcElTy)->getElementType());
// Check to see if "tmp" is a scale by a multiple of ArrayEltSize. We
// allow either a mul, shift, or constant here.
diff --git a/poolalloc/lib/AssistDS/SimplifyInsertValue.cpp b/poolalloc/lib/AssistDS/SimplifyInsertValue.cpp
index d495721..91477be 100644
--- a/poolalloc/lib/AssistDS/SimplifyInsertValue.cpp
+++ b/poolalloc/lib/AssistDS/SimplifyInsertValue.cpp
@@ -19,7 +19,6 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/PatternMatch.h"
-#include "llvm/IR/DataLayout.h"
#include <set>
#include <map>
diff --git a/poolalloc/lib/AssistDS/SimplifyLoad.cpp b/poolalloc/lib/AssistDS/SimplifyLoad.cpp
index 9ed26b1..6582120 100644
--- a/poolalloc/lib/AssistDS/SimplifyLoad.cpp
+++ b/poolalloc/lib/AssistDS/SimplifyLoad.cpp
@@ -17,7 +17,6 @@
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/PatternMatch.h"
-#include "llvm/IR/DataLayout.h"
#include <set>
#include <map>
diff --git a/poolalloc/lib/AssistDS/TypeChecks.cpp b/poolalloc/lib/AssistDS/TypeChecks.cpp
index cfd80cd..18502e0 100644
--- a/poolalloc/lib/AssistDS/TypeChecks.cpp
+++ b/poolalloc/lib/AssistDS/TypeChecks.cpp
@@ -153,7 +153,7 @@
bool modified = false; // Flags whether we modified the module.
bool transformIndirectCalls = true;
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
+ TD = &M.getDataLayout();
addrAnalysis = &getAnalysis<AddressTakenAnalysis>();
// Create the necessary prototypes
diff --git a/poolalloc/lib/DSA/Basic.cpp b/poolalloc/lib/DSA/Basic.cpp
index 6f127f8..c5e9df5 100644
--- a/poolalloc/lib/DSA/Basic.cpp
+++ b/poolalloc/lib/DSA/Basic.cpp
@@ -33,7 +33,7 @@
char BasicDataStructures::ID = 0;
bool BasicDataStructures::runOnModule(Module &M) {
- init(&getAnalysis<DataLayoutPass>().getDataLayout());
+ init(&M.getDataLayout());
//
// Create a void pointer type. This is simply a pointer to an 8 bit value.
diff --git a/poolalloc/lib/DSA/DSGraph.cpp b/poolalloc/lib/DSA/DSGraph.cpp
index f2ddbab..004ead2 100644
--- a/poolalloc/lib/DSA/DSGraph.cpp
+++ b/poolalloc/lib/DSA/DSGraph.cpp
@@ -24,7 +24,6 @@
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/DerivedTypes.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/DepthFirstIterator.h"
diff --git a/poolalloc/lib/DSA/DataStructure.cpp b/poolalloc/lib/DSA/DataStructure.cpp
index 757c5c3..8f12aff 100644
--- a/poolalloc/lib/DSA/DataStructure.cpp
+++ b/poolalloc/lib/DSA/DataStructure.cpp
@@ -23,7 +23,7 @@
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/DerivedTypes.h"
-#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/DepthFirstIterator.h"
diff --git a/poolalloc/lib/DSA/DataStructureStats.cpp b/poolalloc/lib/DSA/DataStructureStats.cpp
index f8a7f4b..74c0c52 100644
--- a/poolalloc/lib/DSA/DataStructureStats.cpp
+++ b/poolalloc/lib/DSA/DataStructureStats.cpp
@@ -66,7 +66,6 @@
class DSGraphStats : public FunctionPass, public InstVisitor<DSGraphStats> {
void countCallees(const Function &F);
const TDDataStructures *DS;
- const DataLayout *TD;
const DSGraph *TDGraph;
dsa::TypeSafety<TDDataStructures> *TS;
DSNodeHandle getNodeHandleForValue(Value *V);
@@ -82,7 +81,6 @@
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
AU.addRequired<TDDataStructures>();
- AU.addRequired<DataLayoutPass>();
AU.addRequired<dsa::TypeSafety<TDDataStructures> >();
}
@@ -238,7 +236,6 @@
bool DSGraphStats::runOnFunction(Function& F) {
DS = &getAnalysis<TDDataStructures>();
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
TS = &getAnalysis<dsa::TypeSafety<TDDataStructures> >();
TDGraph = DS->getDSGraph(F);
countCallees(F);
diff --git a/poolalloc/lib/DSA/Local.cpp b/poolalloc/lib/DSA/Local.cpp
index a785250..ec3a2fe 100644
--- a/poolalloc/lib/DSA/Local.cpp
+++ b/poolalloc/lib/DSA/Local.cpp
@@ -21,8 +21,8 @@
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/Triple.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Module.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Instructions.h"
@@ -1442,7 +1442,7 @@
char LocalDataStructures::ID;
bool LocalDataStructures::runOnModule(Module &M) {
- init(&getAnalysis<DataLayoutPass>().getDataLayout());
+ init(&M.getDataLayout());
addrAnalysis = &getAnalysis<AddressTakenAnalysis>();
// First step, build the globals graph.
diff --git a/poolalloc/lib/DSA/StdLibPass.cpp b/poolalloc/lib/DSA/StdLibPass.cpp
index 32d3c4b..8149f68 100644
--- a/poolalloc/lib/DSA/StdLibPass.cpp
+++ b/poolalloc/lib/DSA/StdLibPass.cpp
@@ -18,10 +18,10 @@
#include "dsa/DSGraph.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
-#include "llvm/IR/GetElementPtrTypeIterator.h"
-#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FormattedStream.h"
diff --git a/poolalloc/lib/DSA/TypeSafety.cpp b/poolalloc/lib/DSA/TypeSafety.cpp
index 0c0f6f8..bac00c0 100644
--- a/poolalloc/lib/DSA/TypeSafety.cpp
+++ b/poolalloc/lib/DSA/TypeSafety.cpp
@@ -333,7 +333,7 @@
//
// Get access to prerequisite passes.
//
- TD = &getAnalysis<DataLayoutPass>().getDataLayout();
+ TD = &M.getDataLayout();
dsaPass = &getAnalysis<dsa>();
//
diff --git a/poolalloc/lib/PoolAllocate/AllHeapNodesHeuristic.cpp b/poolalloc/lib/PoolAllocate/AllHeapNodesHeuristic.cpp
index 948878d..1c94fad 100644
--- a/poolalloc/lib/PoolAllocate/AllHeapNodesHeuristic.cpp
+++ b/poolalloc/lib/PoolAllocate/AllHeapNodesHeuristic.cpp
@@ -25,7 +25,7 @@
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FormattedStream.h"
-#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Module.h"
#include <iostream>
using namespace llvm;
diff --git a/poolalloc/lib/PoolAllocate/Heuristic.cpp b/poolalloc/lib/PoolAllocate/Heuristic.cpp
index 1a0f58a..a1985fe 100644
--- a/poolalloc/lib/PoolAllocate/Heuristic.cpp
+++ b/poolalloc/lib/PoolAllocate/Heuristic.cpp
@@ -24,7 +24,6 @@
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FormattedStream.h"
-#include "llvm/IR/DataLayout.h"
#include <iostream>
using namespace llvm;
diff --git a/poolalloc/lib/PoolAllocate/PAMultipleGlobalPool.cpp b/poolalloc/lib/PoolAllocate/PAMultipleGlobalPool.cpp
index 58685fa..c34a5d6 100644
--- a/poolalloc/lib/PoolAllocate/PAMultipleGlobalPool.cpp
+++ b/poolalloc/lib/PoolAllocate/PAMultipleGlobalPool.cpp
@@ -21,7 +21,6 @@
#include "poolalloc/PoolAllocate.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
@@ -74,7 +73,6 @@
}
void PoolAllocateMultipleGlobalPool::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
assert(0 && "PoolAllocateMultipleGlobalPool doesn't work! Needs Steensgard-like analysis, which was removed!");
//AU.addRequiredTransitive<SteensgaardDataStructures>();
// It is a big lie.
@@ -96,7 +94,7 @@
Graphs = NULL;
assert (Graphs && "No DSA pass available!\n");
- const DataLayout & TD = getAnalysis<DataLayoutPass>().getDataLayout();
+ const DataLayout & TD = M.getDataLayout();
// Add the pool* prototypes to the module
AddPoolPrototypes(&M);
diff --git a/poolalloc/lib/PoolAllocate/PASimple.cpp b/poolalloc/lib/PoolAllocate/PASimple.cpp
index 7c971ee..b80231a 100644
--- a/poolalloc/lib/PoolAllocate/PASimple.cpp
+++ b/poolalloc/lib/PoolAllocate/PASimple.cpp
@@ -19,7 +19,6 @@
#include "dsa/CallTargets.h"
#include "poolalloc/PoolAllocate.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
@@ -70,7 +69,6 @@
}
void PoolAllocateSimple::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<DataLayoutPass>();
// Get the Target Data information and the Graphs
if (CompleteDSA) {
AU.addRequiredTransitive<EQTDDataStructures>();
@@ -131,7 +129,7 @@
Graphs = &getAnalysis<BasicDataStructures>();
}
assert (Graphs && "No DSA pass available!\n");
- const DataLayout & TD = getAnalysis<DataLayoutPass>().getDataLayout();
+ const DataLayout & TD = M.getDataLayout();
// Add the pool* prototypes to the module
AddPoolPrototypes(&M);
diff --git a/poolalloc/lib/PoolAllocate/PoolAllocate.cpp b/poolalloc/lib/PoolAllocate/PoolAllocate.cpp
index 24e33cd..d1a5c06 100644
--- a/poolalloc/lib/PoolAllocate/PoolAllocate.cpp
+++ b/poolalloc/lib/PoolAllocate/PoolAllocate.cpp
@@ -23,7 +23,6 @@
#include "poolalloc/RuntimeChecks.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
@@ -217,8 +216,6 @@
// Preserve the pool information across passes
if (lie_preserve_passes == LIE_PRESERVE_ALL)
AU.setPreservesAll();
-
- AU.addRequired<DataLayoutPass>();
}
bool PoolAllocate::runOnModule(Module &M) {
diff --git a/poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp b/poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp
index 5ca8046..c029488 100644
--- a/poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp
+++ b/poolalloc/lib/PoolAllocate/TransformFunctionBody.cpp
@@ -22,7 +22,6 @@
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
-#include "llvm/IR/DataLayout.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Debug.h"