[llvm] 6cb69d6 - [MC] Move bool members earlier. NFC
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 30 09:49:36 PDT 2024
Author: Fangrui Song
Date: 2024-06-30T09:49:32-07:00
New Revision: 6cb69d6c1ad8a8d1f3057b845ebc01dca261639c
URL: https://github.com/llvm/llvm-project/commit/6cb69d6c1ad8a8d1f3057b845ebc01dca261639c
DIFF: https://github.com/llvm/llvm-project/commit/6cb69d6c1ad8a8d1f3057b845ebc01dca261639c.diff
LOG: [MC] Move bool members earlier. NFC
RelaxAll/SubsectionsViaSyms are used more frequently then vector members
like Sections/Symbols. The size of MCAssembler doesn't particularly
matter, so avoid bit fields.
Added:
Modified:
llvm/include/llvm/MC/MCAssembler.h
llvm/lib/MC/MCAssembler.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCAssembler.h b/llvm/include/llvm/MC/MCAssembler.h
index 5cf6459ca4052..62db4cf1faea3 100644
--- a/llvm/include/llvm/MC/MCAssembler.h
+++ b/llvm/include/llvm/MC/MCAssembler.h
@@ -115,11 +115,13 @@ class MCAssembler {
MCContext &Context;
std::unique_ptr<MCAsmBackend> Backend;
-
std::unique_ptr<MCCodeEmitter> Emitter;
-
std::unique_ptr<MCObjectWriter> Writer;
+ bool RelaxAll = false;
+ bool SubsectionsViaSymbols = false;
+ bool IncrementalLinkerCompatible = false;
+
SectionListType Sections;
SymbolDataListType Symbols;
@@ -150,18 +152,14 @@ class MCAssembler {
/// The bundle alignment size currently set in the assembler.
///
/// By default it's 0, which means bundling is disabled.
- unsigned BundleAlignSize;
-
- bool RelaxAll : 1;
- bool SubsectionsViaSymbols : 1;
- bool IncrementalLinkerCompatible : 1;
+ unsigned BundleAlignSize = 0;
/// ELF specific e_header flags
// It would be good if there were an MCELFAssembler class to hold this.
// ELF header flags are used both by the integrated and standalone assemblers.
// Access to the flags is necessary in cases where assembler directives affect
// which flags to be set.
- unsigned ELFHeaderEFlags;
+ unsigned ELFHeaderEFlags = 0;
/// Used to communicate Linker Optimization Hint information between
/// the Streamer and the .o writer
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp
index 52374017c34fd..d7eb22e085dae 100644
--- a/llvm/lib/MC/MCAssembler.cpp
+++ b/llvm/lib/MC/MCAssembler.cpp
@@ -85,9 +85,7 @@ MCAssembler::MCAssembler(MCContext &Context,
std::unique_ptr<MCCodeEmitter> Emitter,
std::unique_ptr<MCObjectWriter> Writer)
: Context(Context), Backend(std::move(Backend)),
- Emitter(std::move(Emitter)), Writer(std::move(Writer)),
- BundleAlignSize(0), RelaxAll(false), SubsectionsViaSymbols(false),
- IncrementalLinkerCompatible(false), ELFHeaderEFlags(0) {
+ Emitter(std::move(Emitter)), Writer(std::move(Writer)) {
VersionInfo.Major = 0; // Major version == 0 for "none specified"
DarwinTargetVariantVersionInfo.Major = 0;
}
@@ -95,6 +93,9 @@ MCAssembler::MCAssembler(MCContext &Context,
MCAssembler::~MCAssembler() = default;
void MCAssembler::reset() {
+ RelaxAll = false;
+ SubsectionsViaSymbols = false;
+ IncrementalLinkerCompatible = false;
Sections.clear();
Symbols.clear();
IndirectSymbols.clear();
@@ -103,9 +104,6 @@ void MCAssembler::reset() {
FileNames.clear();
ThumbFuncs.clear();
BundleAlignSize = 0;
- RelaxAll = false;
- SubsectionsViaSymbols = false;
- IncrementalLinkerCompatible = false;
ELFHeaderEFlags = 0;
LOHContainer.reset();
VersionInfo.Major = 0;
More information about the llvm-commits
mailing list