summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2016-06-10 01:12:06 +0000
committerQuentin Colombet <qcolombet@apple.com>2016-06-10 01:12:06 +0000
commit6a88ba6f3424aa8a6bcd59853317bf6ae49565f9 (patch)
treefe6900825b1cb5fbebeffd590e2ee96c2caf45f7
parentc83bf82ad8f2075b7972844abadcb87a01b77d8b (diff)
downloadbcm5719-llvm-6a88ba6f3424aa8a6bcd59853317bf6ae49565f9.tar.gz
bcm5719-llvm-6a88ba6f3424aa8a6bcd59853317bf6ae49565f9.zip
[llc] Do not create the pass config several times for run-pass.
Thanks to Matthias Braun for spotting this. llvm-svn: 272358
-rw-r--r--llvm/tools/llc/llc.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 51ce3c0f2bf..6d24204b193 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -411,18 +411,19 @@ static int compileModule(char **argv, LLVMContext &Context) {
errs() << argv[0] << ": run-pass needs a .mir input.\n";
return 1;
}
+ LLVMTargetMachine &LLVMTM = static_cast<LLVMTargetMachine&>(*Target);
+ TargetPassConfig *TPC = LLVMTM.createPassConfig(PM);
+ PM.add(TPC);
+ LLVMTM.addMachineModuleInfo(PM);
+ LLVMTM.addMachineFunctionAnalysis(PM, MIR.get());
+ TPC->printAndVerify("");
+
for (std::string &RunPassName : *RunPassNames) {
const PassInfo *PI = PR->getPassInfo(RunPassName);
if (!PI) {
errs() << argv[0] << ": run-pass " << RunPassName << " is not registered.\n";
return 1;
}
- LLVMTargetMachine &LLVMTM = static_cast<LLVMTargetMachine&>(*Target);
- TargetPassConfig *TPC = LLVMTM.createPassConfig(PM);
- PM.add(TPC);
- LLVMTM.addMachineModuleInfo(PM);
- LLVMTM.addMachineFunctionAnalysis(PM, MIR.get());
- TPC->printAndVerify("");
Pass *P;
if (PI->getTargetMachineCtor())
OpenPOWER on IntegriCloud