Skip to content

Commit c85f7ff

Browse files
committed
Remove getLargeBlockAddress function
1 parent 81d9dfe commit c85f7ff

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
@@ -1087,9 +1087,6 @@ void RISCVAsmPrinter::emitMachineConstantPoolValue(
10871087
if (RCPV->isGlobalValue()) {
10881088
auto *GV = cast<RISCVConstantPoolConstant>(RCPV)->getGlobalValue();
10891089
MCSym = getSymbol(GV);
1090-
} else if (RCPV->isBlockAddress()) {
1091-
auto *BA = cast<RISCVConstantPoolConstant>(RCPV)->getBlockAddress();
1092-
MCSym = GetBlockAddressSymbol(BA);
10931090
} else {
10941091
assert(RCPV->isExtSymbol() && "unrecognized constant pool value");
10951092
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
@@ -7312,17 +7312,6 @@ static SDValue getLargeGlobalAddress(GlobalAddressSDNode *N, SDLoc DL, EVT Ty,
73127312
MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
73137313
}
73147314

7315-
static SDValue getLargeBlockAddress(BlockAddressSDNode *N, SDLoc DL, EVT Ty,
7316-
SelectionDAG &DAG) {
7317-
RISCVConstantPoolConstant *CPV =
7318-
RISCVConstantPoolConstant::Create(N->getBlockAddress());
7319-
SDValue CPAddr = DAG.getTargetConstantPool(CPV, Ty, Align(8));
7320-
SDValue LC = DAG.getNode(RISCVISD::LLA, DL, Ty, CPAddr);
7321-
return DAG.getLoad(
7322-
Ty, DL, DAG.getEntryNode(), LC,
7323-
MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
7324-
}
7325-
73267315
static SDValue getLargeExternalSymbol(ExternalSymbolSDNode *N, SDLoc DL, EVT Ty,
73277316
SelectionDAG &DAG) {
73287317
RISCVConstantPoolSymbol *CPV =
@@ -7338,8 +7327,6 @@ template <class NodeTy>
73387327
static SDValue getLargeAddr(NodeTy *N, SDLoc DL, EVT Ty, SelectionDAG &DAG) {
73397328
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(N)) {
73407329
return getLargeGlobalAddress(G, DL, Ty, DAG);
7341-
} else if (BlockAddressSDNode *B = dyn_cast<BlockAddressSDNode>(N)) {
7342-
return getLargeBlockAddress(B, DL, Ty, DAG);
73437330
} else {
73447331
// Using pc-relative mode for other node type.
73457332
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
@@ -480,10 +480,9 @@ define void @constraint_m_with_local_1() nounwind {
480480
; RV64I-LARGE-NEXT: .Ltmp0: # Block address taken
481481
; RV64I-LARGE-NEXT: # %bb.1: # %label
482482
; RV64I-LARGE-NEXT: .Lpcrel_hi6:
483-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI9_0)
484-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi6)(a0)
483+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp0)
485484
; RV64I-LARGE-NEXT: #APP
486-
; RV64I-LARGE-NEXT: lw zero, 0(a0)
485+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi6)(a0)
487486
; RV64I-LARGE-NEXT: #NO_APP
488487
; RV64I-LARGE-NEXT: ret
489488
entry:
@@ -542,10 +541,9 @@ define void @constraint_m_with_local_2() nounwind {
542541
; RV64I-LARGE-NEXT: .Ltmp1: # Block address taken
543542
; RV64I-LARGE-NEXT: # %bb.1: # %label
544543
; RV64I-LARGE-NEXT: .Lpcrel_hi7:
545-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI10_0)
546-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi7)(a0)
544+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp1+4)
547545
; RV64I-LARGE-NEXT: #APP
548-
; RV64I-LARGE-NEXT: lw zero, 4(a0)
546+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi7)(a0)
549547
; RV64I-LARGE-NEXT: #NO_APP
550548
; RV64I-LARGE-NEXT: ret
551549
entry:
@@ -604,10 +602,9 @@ define void @constraint_m_with_local_3() nounwind {
604602
; RV64I-LARGE-NEXT: .Ltmp2: # Block address taken
605603
; RV64I-LARGE-NEXT: # %bb.1: # %label
606604
; RV64I-LARGE-NEXT: .Lpcrel_hi8:
607-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI11_0)
608-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi8)(a0)
605+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp2+2000)
609606
; RV64I-LARGE-NEXT: #APP
610-
; RV64I-LARGE-NEXT: lw zero, 2000(a0)
607+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi8)(a0)
611608
; RV64I-LARGE-NEXT: #NO_APP
612609
; RV64I-LARGE-NEXT: ret
613610
entry:
@@ -1711,10 +1708,9 @@ define void @constraint_o_with_local_1() nounwind {
17111708
; RV64I-LARGE-NEXT: .Ltmp3: # Block address taken
17121709
; RV64I-LARGE-NEXT: # %bb.1: # %label
17131710
; RV64I-LARGE-NEXT: .Lpcrel_hi23:
1714-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI29_0)
1715-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi23)(a0)
1711+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp3)
17161712
; RV64I-LARGE-NEXT: #APP
1717-
; RV64I-LARGE-NEXT: lw zero, 0(a0)
1713+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi23)(a0)
17181714
; RV64I-LARGE-NEXT: #NO_APP
17191715
; RV64I-LARGE-NEXT: ret
17201716
entry:
@@ -1773,10 +1769,9 @@ define void @constraint_o_with_local_2() nounwind {
17731769
; RV64I-LARGE-NEXT: .Ltmp4: # Block address taken
17741770
; RV64I-LARGE-NEXT: # %bb.1: # %label
17751771
; RV64I-LARGE-NEXT: .Lpcrel_hi24:
1776-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI30_0)
1777-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi24)(a0)
1772+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp4+4)
17781773
; RV64I-LARGE-NEXT: #APP
1779-
; RV64I-LARGE-NEXT: lw zero, 4(a0)
1774+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi24)(a0)
17801775
; RV64I-LARGE-NEXT: #NO_APP
17811776
; RV64I-LARGE-NEXT: ret
17821777
entry:
@@ -1835,10 +1830,9 @@ define void @constraint_o_with_local_3() nounwind {
18351830
; RV64I-LARGE-NEXT: .Ltmp5: # Block address taken
18361831
; RV64I-LARGE-NEXT: # %bb.1: # %label
18371832
; RV64I-LARGE-NEXT: .Lpcrel_hi25:
1838-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI31_0)
1839-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi25)(a0)
1833+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp5+2000)
18401834
; RV64I-LARGE-NEXT: #APP
1841-
; RV64I-LARGE-NEXT: lw zero, 2000(a0)
1835+
; RV64I-LARGE-NEXT: lw zero, %pcrel_lo(.Lpcrel_hi25)(a0)
18421836
; RV64I-LARGE-NEXT: #NO_APP
18431837
; RV64I-LARGE-NEXT: ret
18441838
entry:
@@ -2658,8 +2652,8 @@ define void @constraint_A_with_local_1() nounwind {
26582652
; RV64I-LARGE-NEXT: .Ltmp6: # Block address taken
26592653
; RV64I-LARGE-NEXT: # %bb.1: # %label
26602654
; RV64I-LARGE-NEXT: .Lpcrel_hi36:
2661-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI44_0)
2662-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi36)(a0)
2655+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp6)
2656+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi36)
26632657
; RV64I-LARGE-NEXT: #APP
26642658
; RV64I-LARGE-NEXT: lw zero, 0(a0)
26652659
; RV64I-LARGE-NEXT: #NO_APP
@@ -2724,9 +2718,8 @@ define void @constraint_A_with_local_2() nounwind {
27242718
; RV64I-LARGE-NEXT: .Ltmp7: # Block address taken
27252719
; RV64I-LARGE-NEXT: # %bb.1: # %label
27262720
; RV64I-LARGE-NEXT: .Lpcrel_hi37:
2727-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI45_0)
2728-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi37)(a0)
2729-
; RV64I-LARGE-NEXT: addi a0, a0, 4
2721+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp7+4)
2722+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi37)
27302723
; RV64I-LARGE-NEXT: #APP
27312724
; RV64I-LARGE-NEXT: lw zero, 0(a0)
27322725
; RV64I-LARGE-NEXT: #NO_APP
@@ -2791,9 +2784,8 @@ define void @constraint_A_with_local_3() nounwind {
27912784
; RV64I-LARGE-NEXT: .Ltmp8: # Block address taken
27922785
; RV64I-LARGE-NEXT: # %bb.1: # %label
27932786
; RV64I-LARGE-NEXT: .Lpcrel_hi38:
2794-
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI46_0)
2795-
; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi38)(a0)
2796-
; RV64I-LARGE-NEXT: addi a0, a0, 2000
2787+
; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.Ltmp8+2000)
2788+
; RV64I-LARGE-NEXT: addi a0, a0, %pcrel_lo(.Lpcrel_hi38)
27972789
; RV64I-LARGE-NEXT: #APP
27982790
; RV64I-LARGE-NEXT: lw zero, 0(a0)
27992791
; RV64I-LARGE-NEXT: #NO_APP

0 commit comments

Comments
 (0)