Skip to content

Commit 506e936

Browse files
wangleiatSixWeining
authored andcommitted
[LoongArch] Fix wrong VariantKind for MO_GOT_PC_{HI/LO} flags
Differential Revision: https://reviews.llvm.org/D135946
1 parent 98eedd4 commit 506e936

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ static MCOperand lowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym,
4848
Kind = LoongArchMCExpr::VK_LoongArch_PCALA_LO12;
4949
break;
5050
case LoongArchII::MO_GOT_PC_HI:
51-
Kind = LoongArchMCExpr::VK_LoongArch_GOT_HI20;
51+
Kind = LoongArchMCExpr::VK_LoongArch_GOT_PC_HI20;
5252
break;
5353
case LoongArchII::MO_GOT_PC_LO:
54-
Kind = LoongArchMCExpr::VK_LoongArch_GOT_LO12;
54+
Kind = LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12;
5555
break;
5656
case LoongArchII::MO_LE_HI:
5757
Kind = LoongArchMCExpr::VK_LoongArch_TLS_LE_HI20;

llvm/test/CodeGen/LoongArch/global-address.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
define void @foo() nounwind {
1111
; LA32NOPIC-LABEL: foo:
1212
; LA32NOPIC: # %bb.0:
13-
; LA32NOPIC-NEXT: pcalau12i $a0, %got_hi20(G)
14-
; LA32NOPIC-NEXT: ld.w $a0, $a0, %got_lo12(G)
13+
; LA32NOPIC-NEXT: pcalau12i $a0, %got_pc_hi20(G)
14+
; LA32NOPIC-NEXT: ld.w $a0, $a0, %got_pc_lo12(G)
1515
; LA32NOPIC-NEXT: ld.w $a0, $a0, 0
1616
; LA32NOPIC-NEXT: pcalau12i $a0, %pc_hi20(g)
1717
; LA32NOPIC-NEXT: addi.w $a0, $a0, %pc_lo12(g)
@@ -20,8 +20,8 @@ define void @foo() nounwind {
2020
;
2121
; LA32PIC-LABEL: foo:
2222
; LA32PIC: # %bb.0:
23-
; LA32PIC-NEXT: pcalau12i $a0, %got_hi20(G)
24-
; LA32PIC-NEXT: ld.w $a0, $a0, %got_lo12(G)
23+
; LA32PIC-NEXT: pcalau12i $a0, %got_pc_hi20(G)
24+
; LA32PIC-NEXT: ld.w $a0, $a0, %got_pc_lo12(G)
2525
; LA32PIC-NEXT: ld.w $a0, $a0, 0
2626
; LA32PIC-NEXT: pcalau12i $a0, %pc_hi20(.Lg$local)
2727
; LA32PIC-NEXT: addi.w $a0, $a0, %pc_lo12(.Lg$local)
@@ -30,8 +30,8 @@ define void @foo() nounwind {
3030
;
3131
; LA64NOPIC-LABEL: foo:
3232
; LA64NOPIC: # %bb.0:
33-
; LA64NOPIC-NEXT: pcalau12i $a0, %got_hi20(G)
34-
; LA64NOPIC-NEXT: ld.d $a0, $a0, %got_lo12(G)
33+
; LA64NOPIC-NEXT: pcalau12i $a0, %got_pc_hi20(G)
34+
; LA64NOPIC-NEXT: ld.d $a0, $a0, %got_pc_lo12(G)
3535
; LA64NOPIC-NEXT: ld.w $a0, $a0, 0
3636
; LA64NOPIC-NEXT: pcalau12i $a0, %pc_hi20(g)
3737
; LA64NOPIC-NEXT: addi.d $a0, $a0, %pc_lo12(g)
@@ -40,8 +40,8 @@ define void @foo() nounwind {
4040
;
4141
; LA64PIC-LABEL: foo:
4242
; LA64PIC: # %bb.0:
43-
; LA64PIC-NEXT: pcalau12i $a0, %got_hi20(G)
44-
; LA64PIC-NEXT: ld.d $a0, $a0, %got_lo12(G)
43+
; LA64PIC-NEXT: pcalau12i $a0, %got_pc_hi20(G)
44+
; LA64PIC-NEXT: ld.d $a0, $a0, %got_pc_lo12(G)
4545
; LA64PIC-NEXT: ld.w $a0, $a0, 0
4646
; LA64PIC-NEXT: pcalau12i $a0, %pc_hi20(.Lg$local)
4747
; LA64PIC-NEXT: addi.d $a0, $a0, %pc_lo12(.Lg$local)

llvm/test/CodeGen/LoongArch/tls-models.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ define ptr @f1() nounwind {
2121
; LA32PIC-NEXT: addi.w $sp, $sp, -16
2222
; LA32PIC-NEXT: st.w $ra, $sp, 12 # 4-byte Folded Spill
2323
; LA32PIC-NEXT: pcalau12i $a0, %gd_pc_hi20(unspecified)
24-
; LA32PIC-NEXT: addi.w $a0, $a0, %got_lo12(unspecified)
24+
; LA32PIC-NEXT: addi.w $a0, $a0, %got_pc_lo12(unspecified)
2525
; LA32PIC-NEXT: bl %plt(__tls_get_addr)
2626
; LA32PIC-NEXT: ld.w $ra, $sp, 12 # 4-byte Folded Reload
2727
; LA32PIC-NEXT: addi.w $sp, $sp, 16
@@ -32,7 +32,7 @@ define ptr @f1() nounwind {
3232
; LA64PIC-NEXT: addi.d $sp, $sp, -16
3333
; LA64PIC-NEXT: st.d $ra, $sp, 8 # 8-byte Folded Spill
3434
; LA64PIC-NEXT: pcalau12i $a0, %gd_pc_hi20(unspecified)
35-
; LA64PIC-NEXT: addi.d $a0, $a0, %got_lo12(unspecified)
35+
; LA64PIC-NEXT: addi.d $a0, $a0, %got_pc_lo12(unspecified)
3636
; LA64PIC-NEXT: bl %plt(__tls_get_addr)
3737
; LA64PIC-NEXT: ld.d $ra, $sp, 8 # 8-byte Folded Reload
3838
; LA64PIC-NEXT: addi.d $sp, $sp, 16
@@ -63,7 +63,7 @@ define ptr @f2() nounwind {
6363
; LA32PIC-NEXT: addi.w $sp, $sp, -16
6464
; LA32PIC-NEXT: st.w $ra, $sp, 12 # 4-byte Folded Spill
6565
; LA32PIC-NEXT: pcalau12i $a0, %ld_pc_hi20(ld)
66-
; LA32PIC-NEXT: addi.w $a0, $a0, %got_lo12(ld)
66+
; LA32PIC-NEXT: addi.w $a0, $a0, %got_pc_lo12(ld)
6767
; LA32PIC-NEXT: bl %plt(__tls_get_addr)
6868
; LA32PIC-NEXT: ld.w $ra, $sp, 12 # 4-byte Folded Reload
6969
; LA32PIC-NEXT: addi.w $sp, $sp, 16
@@ -74,7 +74,7 @@ define ptr @f2() nounwind {
7474
; LA64PIC-NEXT: addi.d $sp, $sp, -16
7575
; LA64PIC-NEXT: st.d $ra, $sp, 8 # 8-byte Folded Spill
7676
; LA64PIC-NEXT: pcalau12i $a0, %ld_pc_hi20(ld)
77-
; LA64PIC-NEXT: addi.d $a0, $a0, %got_lo12(ld)
77+
; LA64PIC-NEXT: addi.d $a0, $a0, %got_pc_lo12(ld)
7878
; LA64PIC-NEXT: bl %plt(__tls_get_addr)
7979
; LA64PIC-NEXT: ld.d $ra, $sp, 8 # 8-byte Folded Reload
8080
; LA64PIC-NEXT: addi.d $sp, $sp, 16

0 commit comments

Comments
 (0)