30 lines
685 B
LLVM
30 lines
685 B
LLVM
; RUN: llc %s -mtriple=s390x-linux-gnu -mcpu=z10 -o - -verify-machineinstrs \
|
|
; RUN: | FileCheck %s
|
|
|
|
define void @test1() #0 {
|
|
entry:
|
|
ret void
|
|
|
|
; CHECK-LABEL: @test1
|
|
; CHECK: brasl %r0, __fentry__
|
|
; CHECK-NOT: mcount
|
|
; CHECK: br %r14
|
|
}
|
|
|
|
define void @test2() #1 {
|
|
entry:
|
|
br label %bb1
|
|
bb1:
|
|
call void @address_taken(i64 ptrtoint (i8* blockaddress(@test2, %bb1) to i64), i32 512)
|
|
ret void
|
|
|
|
; CHECK-LABEL: @test2
|
|
; CHECK: brasl %r0, __fentry__
|
|
; CHECK-NOT: mcount
|
|
; CHECK: br %r14
|
|
}
|
|
|
|
declare void @address_taken(i64, i32) local_unnamed_addr
|
|
attributes #0 = { "fentry-call"="true" }
|
|
attributes #1 = { inlinehint minsize noredzone nounwind optsize sspstrong "fentry-call"="true" }
|