|
17 | 17 | #include "DeltaManager.h" |
18 | 18 | #include "ReducerWorkItem.h" |
19 | 19 | #include "TestRunner.h" |
20 | | -#include "llvm/Analysis/ProfileSummaryInfo.h" |
21 | 20 | #include "llvm/Analysis/ModuleSummaryAnalysis.h" |
22 | | -#include "llvm/ADT/SmallString.h" |
| 21 | +#include "llvm/Analysis/ProfileSummaryInfo.h" |
23 | 22 | #include "llvm/Bitcode/BitcodeReader.h" |
24 | 23 | #include "llvm/Bitcode/BitcodeWriter.h" |
25 | 24 | #include "llvm/CodeGen/CommandFlags.h" |
26 | | -#include "llvm/CodeGen/MachineFunction.h" |
27 | | -#include "llvm/CodeGen/MachineModuleInfo.h" |
28 | | -#include "llvm/IR/LegacyPassManager.h" |
29 | 25 | #include "llvm/IR/LLVMContext.h" |
30 | | -#include "llvm/IR/Verifier.h" |
31 | 26 | #include "llvm/IRReader/IRReader.h" |
32 | | -#include "llvm/MC/TargetRegistry.h" |
| 27 | +#include "llvm/Passes/PassBuilder.h" |
33 | 28 | #include "llvm/Support/CommandLine.h" |
34 | | -#include "llvm/Support/Host.h" |
35 | 29 | #include "llvm/Support/InitLLVM.h" |
36 | | -#include "llvm/Support/SourceMgr.h" |
37 | | -#include "llvm/Support/TargetSelect.h" |
38 | 30 | #include "llvm/Support/WithColor.h" |
39 | 31 | #include "llvm/Support/raw_ostream.h" |
40 | | -#include "llvm/Transforms/IPO.h" |
| 32 | +#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h" |
41 | 33 | #include <system_error> |
42 | 34 | #include <vector> |
43 | 35 |
|
@@ -117,9 +109,19 @@ void writeOutput(ReducerWorkItem &M, StringRef Message) { |
117 | 109 |
|
118 | 110 | void writeBitcode(ReducerWorkItem &M, llvm::raw_ostream &OutStream) { |
119 | 111 | if (M.LTOInfo && M.LTOInfo->IsThinLTO && M.LTOInfo->EnableSplitLTOUnit) { |
120 | | - legacy::PassManager PM; |
121 | | - PM.add(llvm::createWriteThinLTOBitcodePass(OutStream)); |
122 | | - PM.run(*(M.M)); |
| 112 | + PassBuilder PB; |
| 113 | + LoopAnalysisManager LAM; |
| 114 | + FunctionAnalysisManager FAM; |
| 115 | + CGSCCAnalysisManager CGAM; |
| 116 | + ModuleAnalysisManager MAM; |
| 117 | + PB.registerModuleAnalyses(MAM); |
| 118 | + PB.registerCGSCCAnalyses(CGAM); |
| 119 | + PB.registerFunctionAnalyses(FAM); |
| 120 | + PB.registerLoopAnalyses(LAM); |
| 121 | + PB.crossRegisterProxies(LAM, FAM, CGAM, MAM); |
| 122 | + ModulePassManager MPM; |
| 123 | + MPM.addPass(ThinLTOBitcodeWriterPass(OutStream, nullptr)); |
| 124 | + MPM.run(*M.M, MAM); |
123 | 125 | } else { |
124 | 126 | std::unique_ptr<ModuleSummaryIndex> Index; |
125 | 127 | if (M.LTOInfo && M.LTOInfo->HasSummary) { |
|
0 commit comments