diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-09-10 21:27:43 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-09-10 21:27:43 +0000 |
commit | c435adcde045fc739ea18e798ceb32b552fd6827 (patch) | |
tree | c6566d0cfd3af5e1403be4682c25b036fd5a0ff4 /llvm/tools | |
parent | 4de669f5b3de09096b55cf1e70ea0b1ea9ad421b (diff) | |
download | bcm5719-llvm-c435adcde045fc739ea18e798ceb32b552fd6827.tar.gz bcm5719-llvm-c435adcde045fc739ea18e798ceb32b552fd6827.zip |
Add doInitialization/doFinalization to DataLayoutPass.
With this a DataLayoutPass can be reused for multiple modules.
Once we have doInitialization/doFinalization, it doesn't seem necessary to pass
a Module to the constructor.
Overall this change seems in line with the idea of making DataLayout a required
part of Module. With it the only way of having a DataLayout used is to add it
to the Module.
llvm-svn: 217548
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/gold/gold-plugin.cpp | 2 | ||||
-rw-r--r-- | llvm/tools/llc/llc.cpp | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-extract/llvm-extract.cpp | 2 | ||||
-rw-r--r-- | llvm/tools/opt/opt.cpp | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index e7888bea9e6..abe6e4dd66b 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -693,7 +693,7 @@ static void codegen(Module &M) { runLTOPasses(M, *TM); PassManager CodeGenPasses; - CodeGenPasses.add(new DataLayoutPass(&M)); + CodeGenPasses.add(new DataLayoutPass()); SmallString<128> Filename; int FD; diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp index 0dbe215cef7..fe4d9ac4f19 100644 --- a/llvm/tools/llc/llc.cpp +++ b/llvm/tools/llc/llc.cpp @@ -307,7 +307,7 @@ static int compileModule(char **argv, LLVMContext &Context) { // Add the target data from the target machine, if it exists, or the module. if (const DataLayout *DL = Target.getSubtargetImpl()->getDataLayout()) mod->setDataLayout(DL); - PM.add(new DataLayoutPass(mod)); + PM.add(new DataLayoutPass()); if (RelaxAll.getNumOccurrences() > 0 && FileType != TargetMachine::CGFT_ObjectFile) diff --git a/llvm/tools/llvm-extract/llvm-extract.cpp b/llvm/tools/llvm-extract/llvm-extract.cpp index 8da63fb1797..116b678e07e 100644 --- a/llvm/tools/llvm-extract/llvm-extract.cpp +++ b/llvm/tools/llvm-extract/llvm-extract.cpp @@ -250,7 +250,7 @@ int main(int argc, char **argv) { // In addition to deleting all other functions, we also want to spiff it // up a little bit. Do this now. PassManager Passes; - Passes.add(new DataLayoutPass(M.get())); // Use correct DataLayout + Passes.add(new DataLayoutPass()); // Use correct DataLayout std::vector<GlobalValue*> Gvs(GVs.begin(), GVs.end()); diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp index f8172b51207..f1a945a6000 100644 --- a/llvm/tools/opt/opt.cpp +++ b/llvm/tools/opt/opt.cpp @@ -440,7 +440,7 @@ int main(int argc, char **argv) { } if (DL) - Passes.add(new DataLayoutPass(M.get())); + Passes.add(new DataLayoutPass()); Triple ModuleTriple(M->getTargetTriple()); TargetMachine *Machine = nullptr; @@ -456,7 +456,7 @@ int main(int argc, char **argv) { if (OptLevelO1 || OptLevelO2 || OptLevelOs || OptLevelOz || OptLevelO3) { FPasses.reset(new FunctionPassManager(M.get())); if (DL) - FPasses->add(new DataLayoutPass(M.get())); + FPasses->add(new DataLayoutPass()); if (TM.get()) TM->addAnalysisPasses(*FPasses); |