[llvm] 2c1fb41 - [MC] Remove some getSectionOrder uses

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 1 12:03:20 PDT 2024


Author: Fangrui Song
Date: 2024-07-01T12:03:16-07:00
New Revision: 2c1fb411ce3aed148a278660d215e0f88ff9b9be

URL: https://github.com/llvm/llvm-project/commit/2c1fb411ce3aed148a278660d215e0f88ff9b9be
DIFF: https://github.com/llvm/llvm-project/commit/2c1fb411ce3aed148a278660d215e0f88ff9b9be.diff

LOG: [MC] Remove some getSectionOrder uses

SectionOrder is Mach-O specific to place zerofill sections after
non-zerofill sections in the object writer.

Added: 
    

Modified: 
    llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
index 26b0cfaf6868c..52002c67f2d04 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
@@ -713,9 +713,9 @@ class HexagonAsmBackend : public MCAsmBackend {
   void finishLayout(MCAssembler const &Asm,
                     MCAsmLayout &Layout) const override {
     SmallVector<MCFragment *> Frags;
-    for (auto *I : Layout.getSectionOrder()) {
+    for (MCSection &Sec : Asm) {
       Frags.clear();
-      for (MCFragment &F : *I)
+      for (MCFragment &F : Sec)
         Frags.push_back(&F);
       for (size_t J = 0, E = Frags.size(); J != E; ++J) {
         switch (Frags[J]->getKind()) {
@@ -756,7 +756,7 @@ class HexagonAsmBackend : public MCAsmBackend {
               //assert(!Error);
               (void)Error;
               ReplaceInstruction(Asm.getEmitter(), RF, Inst);
-              I->setHasLayout(false);
+              Sec.setHasLayout(false);
               Size = 0; // Only look back one instruction
               break;
             }

diff  --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 49e1ad2b138f0..790567e52b843 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -971,8 +971,7 @@ void X86AsmBackend::finishLayout(MCAssembler const &Asm,
   }
 
   // The layout is done. Mark every fragment as valid.
-  for (unsigned int i = 0, n = Layout.getSectionOrder().size(); i != n; ++i) {
-    MCSection &Section = *Layout.getSectionOrder()[i];
+  for (MCSection &Section : Asm) {
     Asm.getFragmentOffset(*Section.curFragList()->Tail);
     Asm.computeFragmentSize(*Section.curFragList()->Tail);
   }


        


More information about the llvm-commits mailing list