[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