@@ -80,8 +80,9 @@ class ARMTargetAsmStreamer : public ARMTargetStreamer {
80
80
void emitPersonality (const MCSymbol *Personality) override ;
81
81
void emitPersonalityIndex (unsigned Index) override ;
82
82
void emitHandlerData () override ;
83
- void emitSetFP (unsigned FpReg, unsigned SpReg, int64_t Offset = 0 ) override ;
84
- void emitMovSP (unsigned Reg, int64_t Offset = 0 ) override ;
83
+ void emitSetFP (MCRegister FpReg, MCRegister SpReg,
84
+ int64_t Offset = 0 ) override ;
85
+ void emitMovSP (MCRegister Reg, int64_t Offset = 0 ) override ;
85
86
void emitPad (int64_t Offset) override ;
86
87
void emitRegSave (const SmallVectorImpl<MCRegister> &RegList,
87
88
bool isVector) override ;
@@ -139,7 +140,7 @@ void ARMTargetAsmStreamer::emitPersonalityIndex(unsigned Index) {
139
140
140
141
void ARMTargetAsmStreamer::emitHandlerData () { OS << " \t .handlerdata\n " ; }
141
142
142
- void ARMTargetAsmStreamer::emitSetFP (unsigned FpReg, unsigned SpReg,
143
+ void ARMTargetAsmStreamer::emitSetFP (MCRegister FpReg, MCRegister SpReg,
143
144
int64_t Offset) {
144
145
OS << " \t .setfp\t " ;
145
146
InstPrinter.printRegName (OS, FpReg);
@@ -150,7 +151,7 @@ void ARMTargetAsmStreamer::emitSetFP(unsigned FpReg, unsigned SpReg,
150
151
OS << ' \n ' ;
151
152
}
152
153
153
- void ARMTargetAsmStreamer::emitMovSP (unsigned Reg, int64_t Offset) {
154
+ void ARMTargetAsmStreamer::emitMovSP (MCRegister Reg, int64_t Offset) {
154
155
assert ((Reg != ARM::SP && Reg != ARM::PC) &&
155
156
" the operand of .movsp cannot be either sp or pc" );
156
157
@@ -401,8 +402,9 @@ class ARMTargetELFStreamer : public ARMTargetStreamer {
401
402
void emitPersonality (const MCSymbol *Personality) override ;
402
403
void emitPersonalityIndex (unsigned Index) override ;
403
404
void emitHandlerData () override ;
404
- void emitSetFP (unsigned FpReg, unsigned SpReg, int64_t Offset = 0 ) override ;
405
- void emitMovSP (unsigned Reg, int64_t Offset = 0 ) override ;
405
+ void emitSetFP (MCRegister FpReg, MCRegister SpReg,
406
+ int64_t Offset = 0 ) override ;
407
+ void emitMovSP (MCRegister Reg, int64_t Offset = 0 ) override ;
406
408
void emitPad (int64_t Offset) override ;
407
409
void emitRegSave (const SmallVectorImpl<MCRegister> &RegList,
408
410
bool isVector) override ;
@@ -469,8 +471,8 @@ class ARMELFStreamer : public MCELFStreamer {
469
471
void emitPersonality (const MCSymbol *Per);
470
472
void emitPersonalityIndex (unsigned index);
471
473
void emitHandlerData ();
472
- void emitSetFP (unsigned NewFpReg, unsigned NewSpReg, int64_t Offset = 0 );
473
- void emitMovSP (unsigned Reg, int64_t Offset = 0 );
474
+ void emitSetFP (MCRegister NewFpReg, MCRegister NewSpReg, int64_t Offset = 0 );
475
+ void emitMovSP (MCRegister Reg, int64_t Offset = 0 );
474
476
void emitPad (int64_t Offset);
475
477
void emitRegSave (const SmallVectorImpl<MCRegister> &RegList, bool isVector);
476
478
void emitUnwindRaw (int64_t Offset, const SmallVectorImpl<uint8_t > &Opcodes);
@@ -721,7 +723,7 @@ class ARMELFStreamer : public MCELFStreamer {
721
723
MCSymbol *FnStart;
722
724
const MCSymbol *Personality;
723
725
unsigned PersonalityIndex;
724
- unsigned FPReg; // Frame pointer register
726
+ MCRegister FPReg; // Frame pointer register
725
727
int64_t FPOffset; // Offset: (final frame pointer) - (initial $sp)
726
728
int64_t SPOffset; // Offset: (final $sp) - (initial $sp)
727
729
int64_t PendingOffset; // Offset: (final $sp) - (emitted $sp)
@@ -753,12 +755,12 @@ void ARMTargetELFStreamer::emitHandlerData() {
753
755
getStreamer ().emitHandlerData ();
754
756
}
755
757
756
- void ARMTargetELFStreamer::emitSetFP (unsigned FpReg, unsigned SpReg,
758
+ void ARMTargetELFStreamer::emitSetFP (MCRegister FpReg, MCRegister SpReg,
757
759
int64_t Offset) {
758
760
getStreamer ().emitSetFP (FpReg, SpReg, Offset);
759
761
}
760
762
761
- void ARMTargetELFStreamer::emitMovSP (unsigned Reg, int64_t Offset) {
763
+ void ARMTargetELFStreamer::emitMovSP (MCRegister Reg, int64_t Offset) {
762
764
getStreamer ().emitMovSP (Reg, Offset);
763
765
}
764
766
@@ -1373,7 +1375,7 @@ void ARMELFStreamer::emitPersonalityIndex(unsigned Index) {
1373
1375
PersonalityIndex = Index;
1374
1376
}
1375
1377
1376
- void ARMELFStreamer::emitSetFP (unsigned NewFPReg, unsigned NewSPReg,
1378
+ void ARMELFStreamer::emitSetFP (MCRegister NewFPReg, MCRegister NewSPReg,
1377
1379
int64_t Offset) {
1378
1380
assert ((NewSPReg == ARM::SP || NewSPReg == FPReg) &&
1379
1381
" the operand of .setfp directive should be either $sp or $fp" );
@@ -1387,7 +1389,7 @@ void ARMELFStreamer::emitSetFP(unsigned NewFPReg, unsigned NewSPReg,
1387
1389
FPOffset += Offset;
1388
1390
}
1389
1391
1390
- void ARMELFStreamer::emitMovSP (unsigned Reg, int64_t Offset) {
1392
+ void ARMELFStreamer::emitMovSP (MCRegister Reg, int64_t Offset) {
1391
1393
assert ((Reg != ARM::SP && Reg != ARM::PC) &&
1392
1394
" the operand of .movsp cannot be either sp or pc" );
1393
1395
assert (FPReg == ARM::SP && " current FP must be SP" );
0 commit comments