|
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