Skip to content

Commit 0e3f0ea

Browse files
committed
Remove getLargeBlockAddress function
1 parent 9eb398d commit 0e3f0ea

File tree

5 files changed

+22
-48
lines changed

5 files changed

+22
-48
lines changed

llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,9 +1097,6 @@ void RISCVAsmPrinter::emitMachineConstantPoolValue(
10971097
if (RCPV->isGlobalValue()) {
10981098
auto *GV = cast<RISCVConstantPoolConstant>(RCPV)->getGlobalValue();
10991099
MCSym = getSymbol(GV);
1100-
} else if (RCPV->isBlockAddress()) {
1101-
auto *BA = cast<RISCVConstantPoolConstant>(RCPV)->getBlockAddress();
1102-
MCSym = GetBlockAddressSymbol(BA);
11031100
} else {
11041101
assert(RCPV->isExtSymbol() && "unrecognized constant pool value");
11051102
auto Sym = cast<RISCVConstantPoolSymbol>(RCPV)->getSymbol();

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7419,17 +7419,6 @@ static SDValue getLargeGlobalAddress(GlobalAddressSDNode *N, SDLoc DL, EVT Ty,
74197419
MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
74207420
}
74217421

7422-
static SDValue getLargeBlockAddress(BlockAddressSDNode *N, SDLoc DL, EVT Ty,
7423-
SelectionDAG &DAG) {
7424-
RISCVConstantPoolConstant *CPV =
7425-
RISCVConstantPoolConstant::Create(N->getBlockAddress());
7426-
SDValue CPAddr = DAG.getTargetConstantPool(CPV, Ty, Align(8));
7427-
SDValue LC = DAG.getNode(RISCVISD::LLA, DL, Ty, CPAddr);
7428-
return DAG.getLoad(
7429-
Ty, DL, DAG.getEntryNode(), LC,
7430-
MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
7431-
}
7432-
74337422
static SDValue getLargeExternalSymbol(ExternalSymbolSDNode *N, SDLoc DL, EVT Ty,
74347423
SelectionDAG &DAG) {
74357424
RISCVConstantPoolSymbol *CPV =
@@ -7445,8 +7434,6 @@ template <class NodeTy>
74457434
static SDValue getLargeAddr(NodeTy *N, SDLoc DL, EVT Ty, SelectionDAG &DAG) {
74467435
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(N)) {
74477436
return getLargeGlobalAddress(G, DL, Ty, DAG);
7448-
} else if (BlockAddressSDNode *B = dyn_cast<BlockAddressSDNode>(N)) {
7449-
return getLargeBlockAddress(B, DL, Ty, DAG);
74507437
} else {
74517438
// Using pc-relative mode for other node type.
74527439
SDValue Addr = getTargetNode(N, DL, Ty, DAG, 0);

llvm/test/CodeGen/RISCV/codemodel-lowering.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ define signext i32 @lower_blockaddress_displ(i32 signext %w) nounwind {
194194
; RV64I-LARGE: # %bb.0: # %entry
195195
; RV64I-LARGE-NEXT: addi sp, sp, -16
196196
; RV64I-LARGE-NEXT: .Lpcrel_hi2:
197-
; RV64I-LARGE-NEXT: auipc a1, %pcrel_hi(.LCPI2_0)
198-
; RV64I-LARGE-NEXT: ld a1, %pcrel_lo(.Lpcrel_hi2)(a1)
197+
; RV64I-LARGE-NEXT: auipc a1, %pcrel_hi(.Ltmp0)
198+
; RV64I-LARGE-NEXT: addi a1, a1, %pcrel_lo(.Lpcrel_hi2)
199199
; RV64I-LARGE-NEXT: li a2, 101
200200
; RV64I-LARGE-NEXT: sd a1, 8(sp)
201201
; RV64I-LARGE-NEXT: blt a0, a2, .LBB2_3

llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -596,9 +596,8 @@ define dso_local ptr @load_ba_1() nounwind {
596596
; RV64I-LARGE-NEXT: .Ltmp0: # Block address taken
597597
; RV64I-LARGE-NEXT: # %bb.1: # %label
598598
; RV64I-LARGE-NEXT: .Lpcrel_hi12:
599-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI12_0)
599+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp0)
600600
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi12)(a0)
601-
; RV64I-LARGE-NEXT: ld a0, 0(a0)
602601
; RV64I-LARGE-NEXT: ret
603602
entry:
604603
br label %label
@@ -647,9 +646,8 @@ define dso_local ptr @load_ba_2() nounwind {
647646
; RV64I-LARGE-NEXT: .Ltmp1: # Block address taken
648647
; RV64I-LARGE-NEXT: # %bb.1: # %label
649648
; RV64I-LARGE-NEXT: .Lpcrel_hi13:
650-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI13_0)
649+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp1+8)
651650
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi13)(a0)
652-
; RV64I-LARGE-NEXT: ld a0, 8(a0)
653651
; RV64I-LARGE-NEXT: ret
654652
entry:
655653
br label %label

llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -490,10 +490,9 @@ define void @constraint_m_with_local_1() nounwind {
490490
; RV64I-LARGE-NEXT: .Ltmp0: # Block address taken
491491
; RV64I-LARGE-NEXT: # %bb.1: # %label
492492
; RV64I-LARGE-NEXT: .Lpcrel_hi6:
493-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI9_0)
494-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi6)(a0)
493+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp0)
495494
; RV64I-LARGE-NEXT: #APP
496-
; RV64I-LARGE-NEXT: lw zero, 0(a0)
495+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi6)(a0)
497496
; RV64I-LARGE-NEXT: #NO_APP
498497
; RV64I-LARGE-NEXT: ret
499498
entry:
@@ -552,10 +551,9 @@ define void @constraint_m_with_local_2() nounwind {
552551
; RV64I-LARGE-NEXT: .Ltmp1: # Block address taken
553552
; RV64I-LARGE-NEXT: # %bb.1: # %label
554553
; RV64I-LARGE-NEXT: .Lpcrel_hi7:
555-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI10_0)
556-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi7)(a0)
554+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp1+4)
557555
; RV64I-LARGE-NEXT: #APP
558-
; RV64I-LARGE-NEXT: lw zero, 4(a0)
556+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi7)(a0)
559557
; RV64I-LARGE-NEXT: #NO_APP
560558
; RV64I-LARGE-NEXT: ret
561559
entry:
@@ -614,10 +612,9 @@ define void @constraint_m_with_local_3() nounwind {
614612
; RV64I-LARGE-NEXT: .Ltmp2: # Block address taken
615613
; RV64I-LARGE-NEXT: # %bb.1: # %label
616614
; RV64I-LARGE-NEXT: .Lpcrel_hi8:
617-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI11_0)
618-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi8)(a0)
615+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp2+2000)
619616
; RV64I-LARGE-NEXT: #APP
620-
; RV64I-LARGE-NEXT: lw zero, 2000(a0)
617+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi8)(a0)
621618
; RV64I-LARGE-NEXT: #NO_APP
622619
; RV64I-LARGE-NEXT: ret
623620
entry:
@@ -2118,10 +2115,9 @@ define void @constraint_o_with_local_1() nounwind {
21182115
; RV64I-LARGE-NEXT: .Ltmp3: # Block address taken
21192116
; RV64I-LARGE-NEXT: # %bb.1: # %label
21202117
; RV64I-LARGE-NEXT: .Lpcrel_hi22:
2121-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI28_0)
2122-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi22)(a0)
2118+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp3)
21232119
; RV64I-LARGE-NEXT: #APP
2124-
; RV64I-LARGE-NEXT: lw zero, 0(a0)
2120+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi22)(a0)
21252121
; RV64I-LARGE-NEXT: #NO_APP
21262122
; RV64I-LARGE-NEXT: ret
21272123
entry:
@@ -2180,10 +2176,9 @@ define void @constraint_o_with_local_2() nounwind {
21802176
; RV64I-LARGE-NEXT: .Ltmp4: # Block address taken
21812177
; RV64I-LARGE-NEXT: # %bb.1: # %label
21822178
; RV64I-LARGE-NEXT: .Lpcrel_hi23:
2183-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI29_0)
2184-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi23)(a0)
2179+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp4+4)
21852180
; RV64I-LARGE-NEXT: #APP
2186-
; RV64I-LARGE-NEXT: lw zero, 4(a0)
2181+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi23)(a0)
21872182
; RV64I-LARGE-NEXT: #NO_APP
21882183
; RV64I-LARGE-NEXT: ret
21892184
entry:
@@ -2242,10 +2237,9 @@ define void @constraint_o_with_local_3() nounwind {
22422237
; RV64I-LARGE-NEXT: .Ltmp5: # Block address taken
22432238
; RV64I-LARGE-NEXT: # %bb.1: # %label
22442239
; RV64I-LARGE-NEXT: .Lpcrel_hi24:
2245-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI30_0)
2246-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi24)(a0)
2240+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp5+2000)
22472241
; RV64I-LARGE-NEXT: #APP
2248-
; RV64I-LARGE-NEXT: lw zero, 2000(a0)
2242+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi24)(a0)
22492243
; RV64I-LARGE-NEXT: #NO_APP
22502244
; RV64I-LARGE-NEXT: ret
22512245
entry:
@@ -3219,8 +3213,8 @@ define void @constraint_A_with_local_1() nounwind {
32193213
; RV64I-LARGE-NEXT: .Ltmp6: # Block address taken
32203214
; RV64I-LARGE-NEXT: # %bb.1: # %label
32213215
; RV64I-LARGE-NEXT: .Lpcrel_hi34:
3222-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI42_0)
3223-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi34)(a0)
3216+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp6)
3217+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi34)
32243218
; RV64I-LARGE-NEXT: #APP
32253219
; RV64I-LARGE-NEXT: lw zero, 0(a0)
32263220
; RV64I-LARGE-NEXT: #NO_APP
@@ -3285,9 +3279,8 @@ define void @constraint_A_with_local_2() nounwind {
32853279
; RV64I-LARGE-NEXT: .Ltmp7: # Block address taken
32863280
; RV64I-LARGE-NEXT: # %bb.1: # %label
32873281
; RV64I-LARGE-NEXT: .Lpcrel_hi35:
3288-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI43_0)
3289-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi35)(a0)
3290-
; RV64I-LARGE-NEXT: addi a0, a0, 4
3282+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp7+4)
3283+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi35)
32913284
; RV64I-LARGE-NEXT: #APP
32923285
; RV64I-LARGE-NEXT: lw zero, 0(a0)
32933286
; RV64I-LARGE-NEXT: #NO_APP
@@ -3352,9 +3345,8 @@ define void @constraint_A_with_local_3() nounwind {
33523345
; RV64I-LARGE-NEXT: .Ltmp8: # Block address taken
33533346
; RV64I-LARGE-NEXT: # %bb.1: # %label
33543347
; RV64I-LARGE-NEXT: .Lpcrel_hi36:
3355-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI44_0)
3356-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi36)(a0)
3357-
; RV64I-LARGE-NEXT: addi a0, a0, 2000
3348+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp8+2000)
3349+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi36)
33583350
; RV64I-LARGE-NEXT: #APP
33593351
; RV64I-LARGE-NEXT: lw zero, 0(a0)
33603352
; RV64I-LARGE-NEXT: #NO_APP

0 commit comments

Comments
 (0)