diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2017-04-28 04:48:42 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2017-04-28 04:48:42 +0000 |
commit | ba0daee6b236cfda7488c68a1f16d51b6a60d521 (patch) | |
tree | 36413afccebf401e3196b48412a5890197229bb2 /llvm/test/CodeGen/X86/stackmap-large-constants.ll | |
parent | 41d9ef3cedbe05b83e8c03c62aeaf01a1e52b134 (diff) | |
download | bcm5719-llvm-ba0daee6b236cfda7488c68a1f16d51b6a60d521.tar.gz bcm5719-llvm-ba0daee6b236cfda7488c68a1f16d51b6a60d521.zip |
[StackMaps] Increase the size of the "location size" field
Summary:
In some cases LLVM (especially the SLP vectorizer) will create vectors
that are 256 bytes (or larger). Given that this is intentional[0] is
likely to get more common, this patch updates the StackMap binary
format to deal with the spill locations for said vectors.
This change also bumps the stack map version from 2 to 3.
[0]: https://reviews.llvm.org/D32533#738350
Reviewers: reames, kavon, skatkov, javed.absar
Subscribers: mcrosier, nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D32629
llvm-svn: 301615
Diffstat (limited to 'llvm/test/CodeGen/X86/stackmap-large-constants.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/stackmap-large-constants.ll | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/stackmap-large-constants.ll b/llvm/test/CodeGen/X86/stackmap-large-constants.ll index 99a2c11828e..7de430b5393 100644 --- a/llvm/test/CodeGen/X86/stackmap-large-constants.ll +++ b/llvm/test/CodeGen/X86/stackmap-large-constants.ll @@ -3,7 +3,7 @@ ; CHECK-LABEL: .section __LLVM_STACKMAPS,__llvm_stackmaps ; CHECK-NEXT: __LLVM_StackMaps: ; version -; CHECK-NEXT: .byte 2 +; CHECK-NEXT: .byte 3 ; reserved ; CHECK-NEXT: .byte 0 ; reserved @@ -38,12 +38,17 @@ ; ConstantIndex ; CHECK-NEXT: .byte 5 ; reserved -; CHECK-NEXT: .byte 8 +; CHECK-NEXT: .byte 0 +; size +; CHECK-NEXT: .short 8 ; Dwarf RegNum ; CHECK-NEXT: .short 0 +; reserved +; CHECK-NEXT: .short 0 ; Offset ; CHECK-NEXT: .long 0 ; padding +; CHECK-NEXT: .p2align 3 ; CHECK-NEXT: .short 0 ; NumLiveOuts ; CHECK-NEXT: .short 0 @@ -68,12 +73,17 @@ define void @foo() { ; ConstantIndex ; CHECK-NEXT: .byte 5 ; reserved -; CHECK-NEXT: .byte 8 +; CHECK-NEXT: .byte 0 +; size +; CHECK-NEXT: .short 8 ; Dwarf RegNum ; CHECK-NEXT: .short 0 +; reserved +; CHECK-NEXT: .short 0 ; Offset ; CHECK-NEXT: .long 1 ; padding +; CHECK-NEXT: .p2align 3 ; CHECK-NEXT: .short 0 ; NumLiveOuts ; CHECK-NEXT: .short 0 |