mirror of
https://github.com/RPCS3/llvm.git
synced 2026-08-27 02:51:23 -04:00
209d9a9a8d
Because of gp = sdata_start_address + 0x800, gp with signed twelve-bit offset could covert most of the small data section. Linker relaxation could transfer the multiple data accessing instructions to a gp base with signed twelve-bit offset instruction. Differential Revision: https://reviews.llvm.org/D57493 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358150 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
535 B
LLVM
17 lines
535 B
LLVM
; RUN: llc -mtriple=riscv32 < %s | FileCheck -check-prefix=RV32 %s
|
|
; RUN: llc -mtriple=riscv64 < %s | FileCheck -check-prefix=RV64 %s
|
|
|
|
@v = internal global i32 0, align 4
|
|
@r = internal global i64 7, align 8
|
|
|
|
; @v and @r are local symbols.
|
|
; SmallDataLimit set to 8, so we expect @v will be put in sbss
|
|
; and @r will be put in sdata.
|
|
!llvm.module.flags = !{!0}
|
|
!0 = !{i32 1, !"SmallDataLimit", i32 8}
|
|
|
|
; RV32: .section .sbss
|
|
; RV32: .section .sdata
|
|
; RV64: .section .sbss
|
|
; RV64: .section .sdata
|