File tree 11 files changed +80
-12
lines changed
11 files changed +80
-12
lines changed Original file line number Diff line number Diff line change 9
9
10
10
#include " Driver.h"
11
11
#include " Config.h"
12
+ #include " ICF.h"
12
13
#include " InputFiles.h"
14
+ #include " MarkLive.h"
13
15
#include " MinGW.h"
14
16
#include " SymbolTable.h"
15
17
#include " Symbols.h"
37
39
#include " llvm/Support/raw_ostream.h"
38
40
#include " llvm/ToolDrivers/llvm-lib/LibDriver.h"
39
41
#include < algorithm>
40
- #include < memory>
41
42
#include < future>
43
+ #include < memory>
42
44
43
45
using namespace llvm ;
44
46
using namespace llvm ::object;
Original file line number Diff line number Diff line change @@ -36,12 +36,6 @@ using llvm::COFF::MachineTypes;
36
36
using llvm::COFF::WindowsSubsystem;
37
37
using llvm::Optional;
38
38
39
- // Implemented in MarkLive.cpp.
40
- void markLive (ArrayRef<Chunk *> Chunks);
41
-
42
- // Implemented in ICF.cpp.
43
- void doICF (ArrayRef<Chunk *> Chunks);
44
-
45
39
class COFFOptTable : public llvm ::opt::OptTable {
46
40
public:
47
41
COFFOptTable ();
Original file line number Diff line number Diff line change 18
18
//
19
19
// ===----------------------------------------------------------------------===//
20
20
21
+ #include " ICF.h"
21
22
#include " Chunks.h"
22
23
#include " Symbols.h"
23
24
#include " lld/Common/ErrorHandler.h"
Original file line number Diff line number Diff line change
1
+ // ===- ICF.h --------------------------------------------------------------===//
2
+ //
3
+ // The LLVM Linker
4
+ //
5
+ // This file is distributed under the University of Illinois Open Source
6
+ // License. See LICENSE.TXT for details.
7
+ //
8
+ // ===----------------------------------------------------------------------===//
9
+
10
+ #ifndef LLD_COFF_ICF_H
11
+ #define LLD_COFF_ICF_H
12
+
13
+ #include " lld/Common/LLVM.h"
14
+ #include " llvm/ADT/ArrayRef.h"
15
+
16
+ namespace lld {
17
+ namespace coff {
18
+
19
+ class Chunk ;
20
+
21
+ void doICF (ArrayRef<Chunk *> Chunks);
22
+
23
+ } // namespace coff
24
+ } // namespace lld
25
+
26
+ #endif
Original file line number Diff line number Diff line change
1
+ // ===- MarkLive.h -----------------------------------------------*- C++ -*-===//
2
+ //
3
+ // The LLVM Linker
4
+ //
5
+ // This file is distributed under the University of Illinois Open Source
6
+ // License. See LICENSE.TXT for details.
7
+ //
8
+ // ===----------------------------------------------------------------------===//
9
+
10
+ #ifndef LLD_COFF_MARKLIVE_H
11
+ #define LLD_COFF_MARKLIVE_H
12
+
13
+ #include " lld/Common/LLVM.h"
14
+ #include " llvm/ADT/ArrayRef.h"
15
+
16
+ namespace lld {
17
+ namespace coff {
18
+
19
+ void markLive (ArrayRef<Chunk *> Chunks);
20
+
21
+ } // namespace coff
22
+ } // namespace lld
23
+
24
+ #endif // LLD_COFF_MARKLIVE_H
Original file line number Diff line number Diff line change 30
30
#include " InputFiles.h"
31
31
#include " InputSection.h"
32
32
#include " LinkerScript.h"
33
+ #include " MarkLive.h"
33
34
#include " OutputSections.h"
34
35
#include " ScriptParser.h"
35
36
#include " Strings.h"
Original file line number Diff line number Diff line change 12
12
13
13
namespace lld {
14
14
namespace elf {
15
+
15
16
template <class ELFT > void doIcf ();
16
- }
17
+
18
+ } // namespace elf
17
19
} // namespace lld
18
20
19
21
#endif
Original file line number Diff line number Diff line change 20
20
//
21
21
// ===----------------------------------------------------------------------===//
22
22
23
+ #include " MarkLive.h"
23
24
#include " InputSection.h"
24
25
#include " LinkerScript.h"
25
26
#include " OutputSections.h"
26
27
#include " Strings.h"
27
28
#include " SymbolTable.h"
28
29
#include " Symbols.h"
29
30
#include " Target.h"
30
- #include " Writer.h"
31
31
#include " lld/Common/Memory.h"
32
32
#include " llvm/ADT/STLExtras.h"
33
33
#include " llvm/Object/ELF.h"
Original file line number Diff line number Diff line change
1
+ // ===- MarkLive.h -----------------------------------------------*- C++ -*-===//
2
+ //
3
+ // The LLVM Linker
4
+ //
5
+ // This file is distributed under the University of Illinois Open Source
6
+ // License. See LICENSE.TXT for details.
7
+ //
8
+ // ===----------------------------------------------------------------------===//
9
+
10
+ #ifndef LLD_ELF_MARKLIVE_H
11
+ #define LLD_ELF_MARKLIVE_H
12
+
13
+ namespace lld {
14
+ namespace elf {
15
+
16
+ template <class ELFT > void markLive ();
17
+
18
+ } // namespace elf
19
+ } // namespace lld
20
+
21
+ #endif // LLD_ELF_MARKLIVE_H
Original file line number Diff line number Diff line change 10
10
#include " Strings.h"
11
11
#include " Config.h"
12
12
#include " lld/Common/ErrorHandler.h"
13
- #include " llvm/ADT/ArrayRef.h"
14
- #include " llvm/ADT/StringRef.h"
15
13
#include " llvm/ADT/Twine.h"
16
14
#include " llvm/Demangle/Demangle.h"
17
15
#include < algorithm>
Original file line number Diff line number Diff line change @@ -23,7 +23,6 @@ class InputSectionBase;
23
23
template <class ELFT > class ObjFile ;
24
24
class SymbolTable ;
25
25
template <class ELFT > void writeResult ();
26
- template <class ELFT > void markLive ();
27
26
28
27
// This describes a program header entry.
29
28
// Each contains type, access flags and range of output sections that will be
You can’t perform that action at this time.
0 commit comments