Skip to content

Commit 381c068

Browse files
Move LOHContainer to MCObjectWriter
1 parent 3588a8a commit 381c068

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

llvm/include/llvm/MC/MCMachObjectWriter.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,6 @@ class MachObjectWriter : public MCObjectWriter {
165165

166166
/// @}
167167

168-
// Used to communicate Linker Optimization Hint information.
169-
MCLOHContainer LOHContainer;
170-
171168
VersionInfoType VersionInfo{};
172169
VersionInfoType TargetVariantVersionInfo{};
173170

@@ -219,7 +216,6 @@ class MachObjectWriter : public MCObjectWriter {
219216
return SectionOrder;
220217
}
221218
SectionAddrMap &getSectionAddressMap() { return SectionAddress; }
222-
MCLOHContainer &getLOHContainer() { return LOHContainer; }
223219

224220
uint64_t getSectionAddress(const MCSection *Sec) const {
225221
return SectionAddress.lookup(Sec);

llvm/include/llvm/MC/MCObjectWriter.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#define LLVM_MC_MCOBJECTWRITER_H
1111

1212
#include "llvm/MC/MCDirectives.h"
13+
#include "llvm/MC/MCLinkerOptimizationHint.h"
1314
#include "llvm/MC/MCSymbol.h"
1415
#include "llvm/TargetParser/Triple.h"
1516
#include <cstdint>
@@ -36,6 +37,9 @@ class MCObjectWriter {
3637
// The list of linker options for LC_LINKER_OPTION.
3738
std::vector<std::vector<std::string>> LinkerOptions;
3839

40+
// Used to communicate Linker Optimization Hint information.
41+
MCLOHContainer LOHContainer;
42+
3943
/// List of declared file names
4044
SmallVector<std::pair<std::string, size_t>, 0> FileNames;
4145
// XCOFF specific: Optional compiler version.
@@ -68,6 +72,8 @@ class MCObjectWriter {
6872
return LinkerOptions;
6973
}
7074

75+
MCLOHContainer &getLOHContainer() { return LOHContainer; }
76+
7177
/// Perform any late binding of symbols (for example, to assign symbol
7278
/// indices for use when generating relocations).
7379
///

llvm/lib/MC/MCMachOStreamer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class MCMachOStreamer : public MCObjectStreamer {
124124
}
125125

126126
void emitLOHDirective(MCLOHType Kind, const MCLOHArgs &Args) override {
127-
getWriter().getLOHContainer().addDirective(Kind, Args);
127+
getMCObjectWriter().getLOHContainer().addDirective(Kind, Args);
128128
}
129129
void emitCGProfileEntry(const MCSymbolRefExpr *From,
130130
const MCSymbolRefExpr *To, uint64_t Count) override {

llvm/lib/MC/MCObjectWriter.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ void MCObjectWriter::reset() {
2626
SubsectionsViaSymbols = false;
2727
CGProfile.clear();
2828
LinkerOptions.clear();
29+
LOHContainer.reset();
2930
}
3031

3132
bool MCObjectWriter::isSymbolRefDifferenceFullyResolved(

0 commit comments

Comments
 (0)