https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/96175
>From 8a5e15bffd2bbb1fbb35968f38a04444ad2ba067 Mon Sep 17 00:00:00 2001 From: Nikita Popov <npo...@redhat.com> Date: Thu, 20 Jun 2024 13:25:28 +0200 Subject: [PATCH 1/2] [PassManger] Remove some unnecessary includes (NFC) SmallPtrSet.h and TimeProfiler.h are unused. CommandLine.h is only needed for the UseNewDbgInfoFormat declare, which can be moved to the places that need it. --- clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp | 1 + llvm/include/llvm/IR/PassManager.h | 5 ----- llvm/include/llvm/IR/PassManagerImpl.h | 3 +++ llvm/lib/Analysis/PHITransAddr.cpp | 1 + llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 1 + llvm/lib/LTO/LTO.cpp | 2 ++ llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 2 ++ llvm/lib/Transforms/IPO/ConstantMerge.cpp | 1 + llvm/tools/llvm-as/llvm-as.cpp | 1 + llvm/tools/opt/optdriver.cpp | 1 + 10 files changed, 13 insertions(+), 5 deletions(-) diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index 623e888a3bf86..cdfe8cfbd9379 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -50,6 +50,7 @@ #include "llvm/Support/SourceMgr.h" #include "llvm/Support/StringSaver.h" #include "llvm/Support/TargetSelect.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/WithColor.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Target/TargetMachine.h" diff --git a/llvm/include/llvm/IR/PassManager.h b/llvm/include/llvm/IR/PassManager.h index cdeed83bbf702..5661a1d58c8ec 100644 --- a/llvm/include/llvm/IR/PassManager.h +++ b/llvm/include/llvm/IR/PassManager.h @@ -39,7 +39,6 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/STLExtras.h" -#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/TinyPtrVector.h" #include "llvm/IR/Analysis.h" @@ -47,8 +46,6 @@ #include "llvm/IR/Module.h" #include "llvm/IR/PassInstrumentation.h" #include "llvm/IR/PassManagerInternal.h" -#include "llvm/Support/CommandLine.h" -#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/TypeName.h" #include <cassert> #include <cstring> @@ -60,8 +57,6 @@ #include <utility> #include <vector> -extern llvm::cl::opt<bool> UseNewDbgInfoFormat; - namespace llvm { // Forward declare the analysis manager template. diff --git a/llvm/include/llvm/IR/PassManagerImpl.h b/llvm/include/llvm/IR/PassManagerImpl.h index dc85ebc3644b9..e4a85b0f33b26 100644 --- a/llvm/include/llvm/IR/PassManagerImpl.h +++ b/llvm/include/llvm/IR/PassManagerImpl.h @@ -15,8 +15,11 @@ #ifndef LLVM_IR_PASSMANAGERIMPL_H #define LLVM_IR_PASSMANAGERIMPL_H +#include "llvm/Support/CommandLine.h" #include "llvm/IR/PassManager.h" +extern llvm::cl::opt<bool> UseNewDbgInfoFormat; + namespace llvm { template <typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs> diff --git a/llvm/lib/Analysis/PHITransAddr.cpp b/llvm/lib/Analysis/PHITransAddr.cpp index 1a02497f25c33..5ec1964c4cb60 100644 --- a/llvm/lib/Analysis/PHITransAddr.cpp +++ b/llvm/lib/Analysis/PHITransAddr.cpp @@ -17,6 +17,7 @@ #include "llvm/IR/Constants.h" #include "llvm/IR/Dominators.h" #include "llvm/IR/Instructions.h" +#include "llvm/Support/CommandLine.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index af5d6891805a6..06d99366a8c3e 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -109,6 +109,7 @@ cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInfoFormat( "load-bitcode-into-experimental-debuginfo-iterators", cl::Hidden, cl::desc("Load bitcode directly into the new debug info format (regardless " "of input format)")); +extern cl::opt<bool> UseNewDbgInfoFormat; extern cl::opt<cl::boolOrDefault> PreserveInputDbgFormat; extern bool WriteNewDbgInfoFormatToBitcode; extern cl::opt<bool> WriteNewDbgInfoFormat; diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp index 5c603ac6ab472..2ba7f587c3f2b 100644 --- a/llvm/lib/LTO/LTO.cpp +++ b/llvm/lib/LTO/LTO.cpp @@ -65,6 +65,8 @@ using namespace object; #define DEBUG_TYPE "lto" +extern cl::opt<bool> UseNewDbgInfoFormat; + static cl::opt<bool> DumpThinCGSCCs("dump-thin-cg-sccs", cl::init(false), cl::Hidden, cl::desc("Dump the SCCs in the ThinLTO index's callgraph")); diff --git a/llvm/lib/Transforms/Coroutines/CoroFrame.cpp b/llvm/lib/Transforms/Coroutines/CoroFrame.cpp index 8e829a53aeca2..30ef7689801dd 100644 --- a/llvm/lib/Transforms/Coroutines/CoroFrame.cpp +++ b/llvm/lib/Transforms/Coroutines/CoroFrame.cpp @@ -44,6 +44,8 @@ using namespace llvm; +extern cl::opt<bool> UseNewDbgInfoFormat; + // The "coro-suspend-crossing" flag is very noisy. There is another debug type, // "coro-frame", which results in leaner debug spew. #define DEBUG_TYPE "coro-suspend-crossing" diff --git a/llvm/lib/Transforms/IPO/ConstantMerge.cpp b/llvm/lib/Transforms/IPO/ConstantMerge.cpp index 29052c8d997e4..ced04bd6f599c 100644 --- a/llvm/lib/Transforms/IPO/ConstantMerge.cpp +++ b/llvm/lib/Transforms/IPO/ConstantMerge.cpp @@ -29,6 +29,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/Support/Casting.h" +#include "llvm/Support/Debug.h" #include "llvm/Transforms/IPO.h" #include <algorithm> #include <cassert> diff --git a/llvm/tools/llvm-as/llvm-as.cpp b/llvm/tools/llvm-as/llvm-as.cpp index 0958e16c2197a..082565a9ef3d9 100644 --- a/llvm/tools/llvm-as/llvm-as.cpp +++ b/llvm/tools/llvm-as/llvm-as.cpp @@ -67,6 +67,7 @@ static cl::opt<std::string> ClDataLayout("data-layout", cl::desc("data layout string to use"), cl::value_desc("layout-string"), cl::init(""), cl::cat(AsCat)); +extern cl::opt<bool> UseNewDbgInfoFormat; extern bool WriteNewDbgInfoFormatToBitcode; static void WriteOutputFile(const Module *M, const ModuleSummaryIndex *Index) { diff --git a/llvm/tools/opt/optdriver.cpp b/llvm/tools/opt/optdriver.cpp index d322666b207d0..a088e7512f5fa 100644 --- a/llvm/tools/opt/optdriver.cpp +++ b/llvm/tools/opt/optdriver.cpp @@ -47,6 +47,7 @@ #include "llvm/Support/SourceMgr.h" #include "llvm/Support/SystemUtils.h" #include "llvm/Support/TargetSelect.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/ToolOutputFile.h" #include "llvm/Support/YAMLTraits.h" #include "llvm/Target/TargetMachine.h" >From 705d9d3c6f920de85a88a39929c67b851b43d98a Mon Sep 17 00:00:00 2001 From: Nikita Popov <npo...@redhat.com> Date: Thu, 20 Jun 2024 16:18:20 +0200 Subject: [PATCH 2/2] fix lld --- lld/COFF/Driver.cpp | 1 + lld/COFF/SymbolTable.cpp | 1 + lld/ELF/InputFiles.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index 7427d30ef365c..17550170a173e 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -44,6 +44,7 @@ #include "llvm/Support/Process.h" #include "llvm/Support/TarWriter.h" #include "llvm/Support/TargetSelect.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/VirtualFileSystem.h" #include "llvm/Support/raw_ostream.h" #include "llvm/TargetParser/Triple.h" diff --git a/lld/COFF/SymbolTable.cpp b/lld/COFF/SymbolTable.cpp index 6cdd824cfde41..6c3c4e3931aa8 100644 --- a/lld/COFF/SymbolTable.cpp +++ b/lld/COFF/SymbolTable.cpp @@ -20,6 +20,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/LTO/LTO.h" #include "llvm/Support/Debug.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/raw_ostream.h" #include <utility> diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index e6a0a5be821e0..e52d6444c64f2 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -29,6 +29,7 @@ #include "llvm/Support/Path.h" #include "llvm/Support/RISCVAttributeParser.h" #include "llvm/Support/TarWriter.h" +#include "llvm/Support/TimeProfiler.h" #include "llvm/Support/raw_ostream.h" #include <optional> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits