@@ -139,9 +139,9 @@ bool MCAssembler::isThumbFunc(const MCSymbol *Symbol) const {
139139  return  true ;
140140}
141141
142- bool  MCAssembler::evaluateFixup (const  MCFixup &Fixup , const  MCFragment *DF ,
143-                                 MCValue &Target, const  MCSubtargetInfo *STI ,
144-                                 uint64_t  &Value,  bool  RecordReloc,
142+ bool  MCAssembler::evaluateFixup (const  MCFragment *DF , const  MCFixup &Fixup ,
143+                                 MCValue &Target, uint64_t  &Value ,
144+                                 bool  RecordReloc,
145145                                MutableArrayRef<char > Contents) const  {
146146  ++stats::evaluateFixup;
147147
@@ -203,8 +203,7 @@ bool MCAssembler::evaluateFixup(const MCFixup &Fixup, const MCFragment *DF,
203203    IsResolved = false ;
204204  IsResolved = getBackend ().addReloc (const_cast <MCAssembler &>(*this ), *DF,
205205                                     Fixup, Target, Value, IsResolved);
206-   getBackend ().applyFixup (*this , Fixup, Target, Contents, Value, IsResolved,
207-                           STI);
206+   getBackend ().applyFixup (*DF, Fixup, Target, Contents, Value, IsResolved);
208207  return  true ;
209208}
210209
@@ -909,7 +908,6 @@ void MCAssembler::layout() {
909908    for  (MCFragment &Frag : Sec) {
910909      MutableArrayRef<MCFixup> Fixups;
911910      MutableArrayRef<char > Contents;
912-       const  MCSubtargetInfo *STI = nullptr ;
913911
914912      //  Process MCAlignFragment and MCEncodedFragmentWithFixups here.
915913      switch  (Frag.getKind ()) {
@@ -927,16 +925,12 @@ void MCAssembler::layout() {
927925        MCDataFragment &DF = cast<MCDataFragment>(Frag);
928926        Fixups = DF.getFixups ();
929927        Contents = DF.getContents ();
930-         STI = DF.getSubtargetInfo ();
931-         assert (!DF.hasInstructions () || STI != nullptr );
932928        break ;
933929      }
934930      case  MCFragment::FT_Relaxable: {
935931        MCRelaxableFragment &RF = cast<MCRelaxableFragment>(Frag);
936932        Fixups = RF.getFixups ();
937933        Contents = RF.getContents ();
938-         STI = RF.getSubtargetInfo ();
939-         assert (!RF.hasInstructions () || STI != nullptr );
940934        break ;
941935      }
942936      case  MCFragment::FT_CVDefRange: {
@@ -973,7 +967,7 @@ void MCAssembler::layout() {
973967      for  (const  MCFixup &Fixup : Fixups) {
974968        uint64_t  FixedValue;
975969        MCValue Target;
976-         evaluateFixup (Fixup,  &Frag, Target, STI , FixedValue,
970+         evaluateFixup (&Frag, Fixup, Target , FixedValue,
977971                      /* RecordReloc=*/ true , Contents);
978972      }
979973    }
@@ -994,9 +988,8 @@ bool MCAssembler::fixupNeedsRelaxation(const MCFixup &Fixup,
994988  assert (getBackendPtr () && " Expected assembler backend" 
995989  MCValue Target;
996990  uint64_t  Value;
997-   bool  Resolved =
998-       evaluateFixup (const_cast <MCFixup &>(Fixup), DF, Target,
999-                     DF->getSubtargetInfo (), Value, /* RecordReloc=*/ false , {});
991+   bool  Resolved = evaluateFixup (DF, const_cast <MCFixup &>(Fixup), Target, Value,
992+                                 /* RecordReloc=*/ false , {});
1000993  return  getBackend ().fixupNeedsRelaxationAdvanced (*this , Fixup, Target, Value,
1001994                                                   Resolved);
1002995}
0 commit comments