brintos

brintos / llvm-project-archived public Read only

0
0
Text · 839 B · 6562d86 Raw
32 lines · plain
1; RUN: llc -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s2 3target triple = "powerpc-unknown-linux-gnu"4 5; Test that LR is preserved when PPC32PICGOT clobbers it with a local "bl".6 7@TLS = external thread_local global i88 9; CHECK-LABEL: tls_addr:10; CHECK:        mflr [[SAVED_REG:[0-9]+]]11 12; CHECK:        bl [[JUMP:\.L[[:alnum:]_]+]]13; CHECK-NEXT:   [[OFFSET:\.L[[:alnum:]_]+]]:14; CHECK-NEXT:   .long _GLOBAL_OFFSET_TABLE_-[[OFFSET]]15; CHECK-NEXT:   [[JUMP]]16; CHECK-NEXT:   mflr {{[0-9]+}}17 18; CHECK:        mtlr [[SAVED_REG]]19; CHECK-NEXT:   blr20 21define ptr @tls_addr() unnamed_addr {22  %1 = call ptr @llvm.threadlocal.address.p0(ptr @TLS)23  ret ptr %124}25 26declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull)27 28!llvm.module.flags = !{!0, !1}29 30!0 = !{i32 8, !"PIC Level", i32 2}31!1 = !{i32 7, !"PIE Level", i32 2}32