mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-10 02:25:47 +00:00
Summary: Large-model was added first. With the addition of support for multiple PIC models in LLVM, now add small-model PIC for 32-bit PowerPC, SysV4 ABI. This generates more optimal code, for shared libraries with less than about 16380 data objects. Test Plan: Test cases added or updated Reviewers: joerg, hfinkel Reviewed By: hfinkel Subscribers: jholewinski, mcrosier, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D5399 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221791 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
511 B
LLVM
17 lines
511 B
LLVM
; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -relocation-model=pic | FileCheck -check-prefix=SMALL-BSS %s
|
|
@bar = common global i32 0, align 4
|
|
|
|
define i32 @foo() {
|
|
entry:
|
|
%0 = load i32* @bar, align 4
|
|
ret i32 %0
|
|
}
|
|
|
|
!llvm.module.flags = !{!0}
|
|
!0 = metadata !{i32 1, metadata !"flag_pic", i32 1}
|
|
; SMALL-BSS-LABEL:foo:
|
|
; SMALL-BSS: bl _GLOBAL_OFFSET_TABLE_@local-4
|
|
; SMALL-BSS: mflr 30
|
|
; SMALL-BSS: lwz [[VREG:[0-9]+]], bar@GOT(30)
|
|
; SMALL-BSS: lwz {{[0-9]+}}, 0([[VREG]])
|