1*4cce1074Sknickish; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*4cce1074Sknickish; RUN: llc < %s -O0 -mtriple=m68k -verify-machineinstrs \ 3*4cce1074Sknickish; RUN: -code-model=medium -relocation-model=pic \ 4*4cce1074Sknickish; RUN: | FileCheck %s 5*4cce1074Sknickish 6*4cce1074Sknickishdefine weak void @weak_foo() { 7*4cce1074Sknickish; CHECK-LABEL: weak_foo: 8*4cce1074Sknickish; CHECK: .cfi_startproc 9*4cce1074Sknickish; CHECK-NEXT: ; %bb.0: 10*4cce1074Sknickish; CHECK-NEXT: rts 11*4cce1074Sknickish ret void 12*4cce1074Sknickish} 13*4cce1074Sknickish 14*4cce1074Sknickishdefine weak_odr void @weak_odr_foo() { 15*4cce1074Sknickish; CHECK-LABEL: weak_odr_foo: 16*4cce1074Sknickish; CHECK: .cfi_startproc 17*4cce1074Sknickish; CHECK-NEXT: ; %bb.0: 18*4cce1074Sknickish; CHECK-NEXT: rts 19*4cce1074Sknickish ret void 20*4cce1074Sknickish} 21*4cce1074Sknickish 22*4cce1074Sknickishdefine internal void @internal_foo() { 23*4cce1074Sknickish; CHECK-LABEL: internal_foo: 24*4cce1074Sknickish; CHECK: .cfi_startproc 25*4cce1074Sknickish; CHECK-NEXT: ; %bb.0: 26*4cce1074Sknickish; CHECK-NEXT: rts 27*4cce1074Sknickish ret void 28*4cce1074Sknickish} 29*4cce1074Sknickish 30*4cce1074Sknickishdeclare i32 @ext_baz() 31*4cce1074Sknickish 32*4cce1074Sknickishdefine void @foo() { 33*4cce1074Sknickish; CHECK-LABEL: foo: 34*4cce1074Sknickish; CHECK: .cfi_startproc 35*4cce1074Sknickish; CHECK-NEXT: ; %bb.0: 36*4cce1074Sknickish; CHECK-NEXT: rts 37*4cce1074Sknickish ret void 38*4cce1074Sknickish} 39*4cce1074Sknickish 40*4cce1074Sknickishdefine void @bar() { 41*4cce1074Sknickish; CHECK-LABEL: bar: 42*4cce1074Sknickish; CHECK: .cfi_startproc 43*4cce1074Sknickish; CHECK-NEXT: ; %bb.0: ; %entry 44*4cce1074Sknickish; CHECK-NEXT: suba.l #4, %sp 45*4cce1074Sknickish; CHECK-NEXT: .cfi_def_cfa_offset -8 46*4cce1074Sknickish; CHECK-NEXT: jsr (foo@PLT,%pc) 47*4cce1074Sknickish; CHECK-NEXT: jsr (weak_odr_foo@PLT,%pc) 48*4cce1074Sknickish; CHECK-NEXT: jsr (weak_foo@PLT,%pc) 49*4cce1074Sknickish; CHECK-NEXT: jsr (internal_foo,%pc) 50*4cce1074Sknickish; CHECK-NEXT: jsr (ext_baz@PLT,%pc) 51*4cce1074Sknickish; CHECK-NEXT: adda.l #4, %sp 52*4cce1074Sknickish; CHECK-NEXT: rts 53*4cce1074Sknickishentry: 54*4cce1074Sknickish call void @foo() 55*4cce1074Sknickish call void @weak_odr_foo() 56*4cce1074Sknickish call void @weak_foo() 57*4cce1074Sknickish call void @internal_foo() 58*4cce1074Sknickish call i32 @ext_baz() 59*4cce1074Sknickish ret void 60*4cce1074Sknickish} 61*4cce1074Sknickish 62*4cce1074Sknickish; -fpie for local global data tests should be added here 63*4cce1074Sknickish 64*4cce1074Sknickish!llvm.module.flags = !{!0, !1} 65*4cce1074Sknickish!0 = !{i32 1, !"PIC Level", i32 1} 66*4cce1074Sknickish!1 = !{i32 1, !"PIE Level", i32 1} 67