38 lines · plain
1; RUN: llc -mtriple=hexagon -relocation-model=pic -mattr=+long-calls < %s | FileCheck --check-prefix=CHECK-LONG %s2; RUN: llc -mtriple=hexagon -relocation-model=pic < %s | FileCheck %s3 4; CHECK-LONG: call ##_ZL13g_usr1_called@GDPLT5; CHECK-LONG-NOT: call _ZL13g_usr1_called@GDPLT6; CHECK: call _ZL13g_usr1_called@GDPLT7; CHECK-NOT: call ##_ZL13g_usr1_called@GDPLT8 9 10target triple = "hexagon"11 12@_ZL13g_usr1_called = internal thread_local global i32 0, align 413 14; Function Attrs: norecurse nounwind15define void @_Z14SigUsr1Handleri(i32) local_unnamed_addr #0 {16entry:17 store volatile i32 1, ptr @_ZL13g_usr1_called, align 418 ret void19}20 21; Function Attrs: norecurse nounwind22define zeroext i1 @_Z27CheckForMonitorCancellationv() local_unnamed_addr #0 {23entry:24 %0 = load volatile i32, ptr @_ZL13g_usr1_called, align 425 %tobool = icmp eq i32 %0, 026 br i1 %tobool, label %return, label %if.then27 28if.then: ; preds = %entry29 store volatile i32 0, ptr @_ZL13g_usr1_called, align 430 br label %return31 32return: ; preds = %entry, %if.then33 %.sink = phi i1 [ true, %if.then ], [ false, %entry ]34 ret i1 %.sink35}36 37attributes #0 = { norecurse nounwind "target-cpu"="hexagonv60" "target-features"="+hvxv60,+hvx-length64b" }38