@@ -196,14 +196,12 @@ bool LoongArchPreRAExpandPseudo::expandPcalau12iInstPair(
196196 MachineOperand &Symbol = MI.getOperand (1 );
197197
198198 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));
201200
202201 MachineInstr *SecondMI =
203202 BuildMI (MBB, MBBI, DL, TII->get (SecondOpcode), DestReg)
204203 .addReg (ScratchReg)
205- .addDisp (Symbol, 0 ,
206- EnableRelax ? LoongArchII::addRelaxFlag (FlagsLo) : FlagsLo);
204+ .addDisp (Symbol, 0 , LoongArchII::encodeFlags (FlagsLo, EnableRelax));
207205
208206 if (MI.hasOneMemOperand ())
209207 SecondMI->addMemOperand (*MF, *MI.memoperands_begin ());
@@ -495,9 +493,8 @@ bool LoongArchPreRAExpandPseudo::expandLoadAddressTLSDesc(
495493
496494 BuildMI (MBB, MBBI, DL, TII->get (LoongArch::PCALAU12I), Tmp1Reg)
497495 .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));
501498
502499 if (Large) {
503500 // Code Sequence:
@@ -539,24 +536,21 @@ bool LoongArchPreRAExpandPseudo::expandLoadAddressTLSDesc(
539536 // add.w/d $dst, $a0, $tp
540537 BuildMI (MBB, MBBI, DL, TII->get (ADDI), LoongArch::R4)
541538 .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));
546542 }
547543
548544 BuildMI (MBB, MBBI, DL, TII->get (LD), LoongArch::R1)
549545 .addReg (LoongArch::R4)
550546 .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));
554549 BuildMI (MBB, MBBI, DL, TII->get (LoongArch::PseudoDESC_CALL), LoongArch::R1)
555550 .addReg (LoongArch::R1)
556551 .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));
560554 BuildMI (MBB, MBBI, DL, TII->get (ADD), DestReg)
561555 .addReg (LoongArch::R4)
562556 .addReg (LoongArch::R2);
0 commit comments