diff options
author | Stephen Hines <srhines@google.com> | 2014-12-04 19:51:48 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-12-04 19:51:48 +0000 |
commit | a21bbdfad461e957fa42ac9d6860ddc9de2da3e9 (patch) | |
tree | 8d32ff2094b47e15a8def30d62fd7dee6e009de3 /test/CodeGen/X86/stackmap-large-constants.ll | |
parent | 6b8c6a5088c221af2b25065b8b6b8b0fec8a116f (diff) | |
parent | 876d6995443e99d13696f3941c3a789a4daa7c7a (diff) | |
download | external_llvm-a21bbdfad461e957fa42ac9d6860ddc9de2da3e9.zip external_llvm-a21bbdfad461e957fa42ac9d6860ddc9de2da3e9.tar.gz external_llvm-a21bbdfad461e957fa42ac9d6860ddc9de2da3e9.tar.bz2 |
am 876d6995: Merge "Update aosp/master LLVM for rebase to r222494."
* commit '876d6995443e99d13696f3941c3a789a4daa7c7a':
Update aosp/master LLVM for rebase to r222494.
Diffstat (limited to 'test/CodeGen/X86/stackmap-large-constants.ll')
-rw-r--r-- | test/CodeGen/X86/stackmap-large-constants.ll | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/CodeGen/X86/stackmap-large-constants.ll b/test/CodeGen/X86/stackmap-large-constants.ll new file mode 100644 index 0000000..73ee4f3 --- /dev/null +++ b/test/CodeGen/X86/stackmap-large-constants.ll @@ -0,0 +1,83 @@ +; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s + +; CHECK-LABEL: .section __LLVM_STACKMAPS,__llvm_stackmaps +; CHECK-NEXT: __LLVM_StackMaps: +; version +; CHECK-NEXT: .byte 1 +; reserved +; CHECK-NEXT: .byte 0 +; reserved +; CHECK-NEXT: .short 0 +; # functions +; CHECK-NEXT: .long 2 +; # constants +; CHECK-NEXT: .long 2 +; # records +; CHECK-NEXT: .long 2 +; function address & stack size +; CHECK-NEXT: .quad _foo +; CHECK-NEXT: .quad 8 +; function address & stack size +; CHECK-NEXT: .quad _bar +; CHECK-NEXT: .quad 8 + +; Constants Array: +; CHECK-NEXT: .quad 9223372036854775807 +; CHECK-NEXT: .quad -9223372036854775808 + +; Patchpoint ID +; CHECK-NEXT: .quad 0 +; Instruction offset +; CHECK-NEXT: .long L{{.*}}-_foo +; reserved +; CHECK-NEXT: .short 0 +; # locations +; CHECK-NEXT: .short 1 +; ConstantIndex +; CHECK-NEXT: .byte 5 +; reserved +; CHECK-NEXT: .byte 8 +; Dwarf RegNum +; CHECK-NEXT: .short 0 +; Offset +; CHECK-NEXT: .long 0 +; padding +; CHECK-NEXT: .short 0 +; NumLiveOuts +; CHECK-NEXT: .short 0 + +; CHECK-NEXT: .align 3 + +declare void @llvm.experimental.stackmap(i64, i32, ...) + +define void @foo() { + tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 0, i32 0, i64 9223372036854775807) + ret void +} + +; Patchpoint ID +; CHECK-NEXT: .quad 0 +; Instruction Offset +; CHECK-NEXT: .long L{{.*}}-_bar +; reserved +; CHECK-NEXT: .short 0 +; # locations +; CHECK-NEXT: .short 1 +; ConstantIndex +; CHECK-NEXT: .byte 5 +; reserved +; CHECK-NEXT: .byte 8 +; Dwarf RegNum +; CHECK-NEXT: .short 0 +; Offset +; CHECK-NEXT: .long 1 +; padding +; CHECK-NEXT: .short 0 +; NumLiveOuts +; CHECK-NEXT: .short 0 + + +define void @bar() { + tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 0, i32 0, i64 -9223372036854775808) + ret void +} |