mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
4154cae682
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 llvm-svn: 358150
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
|