Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
; RUN: llc -mtriple=aarch64-linux %s -o - | \ | ; RUN: llc -mtriple=aarch64-linux %s -o - | \ | ||||
; RUN: FileCheck %s --check-prefix=ASM | ; RUN: FileCheck %s --check-prefix=ASM | ||||
; RUN: llc -mtriple=aarch64-linux %s -filetype=obj -o - | \ | ; RUN: llc -mtriple=aarch64-linux %s -filetype=obj -o - | \ | ||||
; RUN: llvm-readelf --notes - | FileCheck %s --check-prefix=OBJ | ; RUN: llvm-readelf --notes - | FileCheck %s --check-prefix=OBJ | ||||
define dso_local i32 @f() #0 { | define dso_local i32 @f() #0 { | ||||
entry: | entry: | ||||
ret i32 0 | ret i32 0 | ||||
} | } | ||||
define dso_local i32 @g() #1 { | define dso_local i32 @g() #1 { | ||||
entry: | entry: | ||||
ret i32 0 | ret i32 0 | ||||
} | } | ||||
attributes #0 = { "branch-target-enforcement" "sign-return-address"="non-leaf" } | attributes #0 = { "branch-target-enforcement"="true" "sign-return-address"="non-leaf" } | ||||
attributes #1 = { "branch-target-enforcement" } | attributes #1 = { "branch-target-enforcement"="true" } | ||||
; Only the common atttribute (BTI) | ; Only the common atttribute (BTI) | ||||
; ASM: .word 3221225472 | ; ASM: .word 3221225472 | ||||
; ASM-NEXT: .word 4 | ; ASM-NEXT: .word 4 | ||||
; ASM-NEXT: .word 1 | ; ASM-NEXT: .word 1 | ||||
; OBJ: Properties: aarch64 feature: BTI | ; OBJ: Properties: aarch64 feature: BTI |