@@ -196,14 +196,12 @@ bool LoongArchPreRAExpandPseudo::expandPcalau12iInstPair(
196
196
MachineOperand &Symbol = MI.getOperand (1 );
197
197
198
198
BuildMI (MBB, MBBI, DL, TII->get (LoongArch::PCALAU12I), ScratchReg)
199
- .addDisp (Symbol, 0 ,
200
- EnableRelax ? LoongArchII::addRelaxFlag (FlagsHi) : FlagsHi);
199
+ .addDisp (Symbol, 0 , LoongArchII::encodeFlags (FlagsHi, EnableRelax));
201
200
202
201
MachineInstr *SecondMI =
203
202
BuildMI (MBB, MBBI, DL, TII->get (SecondOpcode), DestReg)
204
203
.addReg (ScratchReg)
205
- .addDisp (Symbol, 0 ,
206
- EnableRelax ? LoongArchII::addRelaxFlag (FlagsLo) : FlagsLo);
204
+ .addDisp (Symbol, 0 , LoongArchII::encodeFlags (FlagsLo, EnableRelax));
207
205
208
206
if (MI.hasOneMemOperand ())
209
207
SecondMI->addMemOperand (*MF, *MI.memoperands_begin ());
@@ -495,9 +493,8 @@ bool LoongArchPreRAExpandPseudo::expandLoadAddressTLSDesc(
495
493
496
494
BuildMI (MBB, MBBI, DL, TII->get (LoongArch::PCALAU12I), Tmp1Reg)
497
495
.addDisp (Symbol, 0 ,
498
- (EnableRelax && !Large)
499
- ? LoongArchII::addRelaxFlag (LoongArchII::MO_DESC_PC_HI)
500
- : LoongArchII::MO_DESC_PC_HI);
496
+ LoongArchII::encodeFlags (LoongArchII::MO_DESC_PC_HI,
497
+ EnableRelax && !Large));
501
498
502
499
if (Large) {
503
500
// Code Sequence:
@@ -539,24 +536,21 @@ bool LoongArchPreRAExpandPseudo::expandLoadAddressTLSDesc(
539
536
// add.w/d $dst, $a0, $tp
540
537
BuildMI (MBB, MBBI, DL, TII->get (ADDI), LoongArch::R4)
541
538
.addReg (Tmp1Reg)
542
- .addDisp (Symbol, 0 ,
543
- EnableRelax
544
- ? LoongArchII::addRelaxFlag (LoongArchII::MO_DESC_PC_LO)
545
- : LoongArchII::MO_DESC_PC_LO);
539
+ .addDisp (
540
+ Symbol, 0 ,
541
+ LoongArchII::encodeFlags (LoongArchII::MO_DESC_PC_LO, EnableRelax));
546
542
}
547
543
548
544
BuildMI (MBB, MBBI, DL, TII->get (LD), LoongArch::R1)
549
545
.addReg (LoongArch::R4)
550
546
.addDisp (Symbol, 0 ,
551
- (EnableRelax && !Large)
552
- ? LoongArchII::addRelaxFlag (LoongArchII::MO_DESC_LD)
553
- : LoongArchII::MO_DESC_LD);
547
+ LoongArchII::encodeFlags (LoongArchII::MO_DESC_LD,
548
+ EnableRelax && !Large));
554
549
BuildMI (MBB, MBBI, DL, TII->get (LoongArch::PseudoDESC_CALL), LoongArch::R1)
555
550
.addReg (LoongArch::R1)
556
551
.addDisp (Symbol, 0 ,
557
- (EnableRelax && !Large)
558
- ? LoongArchII::addRelaxFlag (LoongArchII::MO_DESC_CALL)
559
- : LoongArchII::MO_DESC_CALL);
552
+ LoongArchII::encodeFlags (LoongArchII::MO_DESC_CALL,
553
+ EnableRelax && !Large));
560
554
BuildMI (MBB, MBBI, DL, TII->get (ADD), DestReg)
561
555
.addReg (LoongArch::R4)
562
556
.addReg (LoongArch::R2);
0 commit comments