Skip to content

Commit 9a60795

Browse files
committed
address comments
1 parent 85be554 commit 9a60795

File tree

3 files changed

+15
-25
lines changed

3 files changed

+15
-25
lines changed

llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -454,9 +454,6 @@ bool LoongArchInstrInfo::isSchedulingBoundary(const MachineInstr &MI,
454454
// * pcalau12i $a0, %got_pc_hi20(s)
455455
// ld.w/d $a0, $a0, %got_pc_lo12(s)
456456
//
457-
// * pcalau12i $a0, %ie_pc_hi20(s)
458-
// ld.w/d $a0, $a0, %ie_pc_lo12(s)
459-
//
460457
// * pcalau12i $a0, %ld_pc_hi20(s) | %gd_pc_hi20(s)
461458
// addi.w/d $a0, $a0, %got_pc_lo12(s)
462459
//
@@ -492,9 +489,6 @@ bool LoongArchInstrInfo::isSchedulingBoundary(const MachineInstr &MI,
492489
if (MO0 == LoongArchII::MO_GOT_PC_HI && SecondOp->getOpcode() == LdOp &&
493490
MO1 == LoongArchII::MO_GOT_PC_LO)
494491
return true;
495-
if (MO0 == LoongArchII::MO_IE_PC_HI && SecondOp->getOpcode() == LdOp &&
496-
MO1 == LoongArchII::MO_IE_PC_LO)
497-
return true;
498492
if ((MO0 == LoongArchII::MO_LD_PC_HI ||
499493
MO0 == LoongArchII::MO_GD_PC_HI) &&
500494
SecondOp->getOpcode() == AddiOp && MO1 == LoongArchII::MO_GOT_PC_LO)
@@ -511,7 +505,7 @@ bool LoongArchInstrInfo::isSchedulingBoundary(const MachineInstr &MI,
511505
case LoongArch::LD_W:
512506
case LoongArch::LD_D: {
513507
auto MO = LoongArchII::getDirectFlags(MI.getOperand(2));
514-
if (MO == LoongArchII::MO_GOT_PC_LO || MO == LoongArchII::MO_IE_PC_LO)
508+
if (MO == LoongArchII::MO_GOT_PC_LO)
515509
return true;
516510
break;
517511
}

llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ static inline unsigned getDirectFlags(const MachineOperand &MO) {
7575
}
7676

7777
// Add MO_RELAX "bitmask" flag when FeatureRelax is enabled.
78-
static inline unsigned addRelaxFlag(unsigned Flags) { return Flags | MO_RELAX; }
78+
static inline unsigned encodeFlags(unsigned Flags, bool Relax) {
79+
return Flags | (Relax ? MO_RELAX : 0);
80+
}
7981

8082
// \returns true if the given MachineOperand has MO_RELAX "bitmask" flag.
8183
static inline bool hasRelaxFlag(const MachineOperand &MO) {

0 commit comments

Comments
 (0)