diff options
| author | Michael Kruse <llvm-project@meinersbur.de> | 2025-01-03 10:22:51 +0100 |
|---|---|---|
| committer | Michael Kruse <llvm-project@meinersbur.de> | 2025-01-03 10:22:51 +0100 |
| commit | 38500d63e14ce340236840f60d356cdefb56a52c (patch) | |
| tree | 17edbec446ce9b50d2f215a483b83afb293a635d /llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll | |
| parent | 1a3d5daaef7a6a63448a497da3eff7fc9e23df26 (diff) | |
| parent | 27f30029741ecf023baece7b3dde1ff9011ffefc (diff) | |
Merge branch 'main' into users/meinersbur/flang_runtime_split-headersusers/meinersbur/flang_runtime_split-headers
Diffstat (limited to 'llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll')
| -rw-r--r-- | llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll b/llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll new file mode 100644 index 000000000000..1456149ed12b --- /dev/null +++ b/llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll @@ -0,0 +1,67 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -O0 -mtriple=m68k -verify-machineinstrs \ +; RUN: -code-model=small -relocation-model=pic \ +; RUN: | FileCheck %s + +define weak void @weak_foo() { +; CHECK-LABEL: weak_foo: +; CHECK: .cfi_startproc +; CHECK-NEXT: ; %bb.0: +; CHECK-NEXT: rts + ret void +} + +define weak_odr void @weak_odr_foo() { +; CHECK-LABEL: weak_odr_foo: +; CHECK: .cfi_startproc +; CHECK-NEXT: ; %bb.0: +; CHECK-NEXT: rts + ret void +} + +define internal void @internal_foo() { +; CHECK-LABEL: internal_foo: +; CHECK: .cfi_startproc +; CHECK-NEXT: ; %bb.0: +; CHECK-NEXT: rts + ret void +} + +declare i32 @ext_baz() + +define void @foo() { +; CHECK-LABEL: foo: +; CHECK: .cfi_startproc +; CHECK-NEXT: ; %bb.0: +; CHECK-NEXT: rts + ret void +} + + +define void @bar() { +; CHECK-LABEL: bar: +; CHECK: .cfi_startproc +; CHECK-NEXT: ; %bb.0: ; %entry +; CHECK-NEXT: suba.l #4, %sp +; CHECK-NEXT: .cfi_def_cfa_offset -8 +; CHECK-NEXT: jsr (foo@PLT,%pc) +; CHECK-NEXT: jsr (weak_odr_foo@PLT,%pc) +; CHECK-NEXT: jsr (weak_foo@PLT,%pc) +; CHECK-NEXT: jsr (internal_foo,%pc) +; CHECK-NEXT: jsr (ext_baz@PLT,%pc) +; CHECK-NEXT: adda.l #4, %sp +; CHECK-NEXT: rts +entry: + call void @foo() + call void @weak_odr_foo() + call void @weak_foo() + call void @internal_foo() + call i32 @ext_baz() + ret void +} + +; -fpie for local global data tests should be added here + +!llvm.module.flags = !{!0, !1} +!0 = !{i32 1, !"PIC Level", i32 1} +!1 = !{i32 1, !"PIE Level", i32 1} |
