forked from OSchip/llvm-project
Forward declare the DWARFCache to avoid including LLVM DWARF details
LLD's DWARF.h header leaks a lot of LLVM DWARF includes that LLD doesn't need. For Chunks.cpp, I see a compile time decrease of 3.1s to 2.7s.
This commit is contained in:
parent
f4f47da530
commit
adfad4d7c8
|
@ -13,6 +13,7 @@
|
|||
#include "Driver.h"
|
||||
#include "SymbolTable.h"
|
||||
#include "Symbols.h"
|
||||
#include "lld/Common/DWARF.h"
|
||||
#include "lld/Common/ErrorHandler.h"
|
||||
#include "lld/Common/Memory.h"
|
||||
#include "llvm-c/lto.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#define LLD_COFF_INPUT_FILES_H
|
||||
|
||||
#include "Config.h"
|
||||
#include "lld/Common/DWARF.h"
|
||||
#include "lld/Common/LLVM.h"
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
|
@ -35,6 +34,8 @@ class InputFile;
|
|||
}
|
||||
|
||||
namespace lld {
|
||||
class DWARFCache;
|
||||
|
||||
namespace coff {
|
||||
|
||||
std::vector<MemoryBufferRef> getArchiveMembers(llvm::object::Archive *file);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "SymbolTable.h"
|
||||
#include "Symbols.h"
|
||||
#include "SyntheticSections.h"
|
||||
#include "lld/Common/DWARF.h"
|
||||
#include "lld/Common/ErrorHandler.h"
|
||||
#include "lld/Common/Memory.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#define LLD_ELF_INPUT_FILES_H
|
||||
|
||||
#include "Config.h"
|
||||
#include "lld/Common/DWARF.h"
|
||||
#include "lld/Common/ErrorHandler.h"
|
||||
#include "lld/Common/LLVM.h"
|
||||
#include "lld/Common/Reproduce.h"
|
||||
|
@ -25,6 +24,7 @@
|
|||
#include <map>
|
||||
|
||||
namespace llvm {
|
||||
struct DILineInfo;
|
||||
class TarWriter;
|
||||
namespace lto {
|
||||
class InputFile;
|
||||
|
@ -32,6 +32,7 @@ class InputFile;
|
|||
} // namespace llvm
|
||||
|
||||
namespace lld {
|
||||
class DWARFCache;
|
||||
|
||||
// Returns "<internal>", "foo.a(bar.o)" or "baz.o".
|
||||
std::string toString(const elf::InputFile *f);
|
||||
|
|
Loading…
Reference in New Issue