diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:44 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-06-26 23:39:44 +0000 |
commit | 307a6447e5eb143c480646ab9ae61f0aaafcdd18 (patch) | |
tree | 0dd82b9a335623dae374a1da7041eb8cec1a3ef5 /test | |
parent | 9bd578efeab3b521ba37dd7706dc8f3a98ddb4bd (diff) | |
download | llvm-307a6447e5eb143c480646ab9ae61f0aaafcdd18.tar.gz llvm-307a6447e5eb143c480646ab9ae61f0aaafcdd18.tar.bz2 llvm-307a6447e5eb143c480646ab9ae61f0aaafcdd18.tar.xz |
[Stackmaps] Remove the liveness calculation for stackmap intrinsics.
There is no need to calculate the liveness information for stackmaps. The
liveness information is still available for the patchpoint intrinsic and
that is also the intended usage model.
Related to <rdar://problem/17473725>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211816 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/stackmap-liveness.ll | 151 |
1 files changed, 41 insertions, 110 deletions
diff --git a/test/CodeGen/X86/stackmap-liveness.ll b/test/CodeGen/X86/stackmap-liveness.ll index 9ce5254caa..78450c7ad2 100644 --- a/test/CodeGen/X86/stackmap-liveness.ll +++ b/test/CodeGen/X86/stackmap-liveness.ll @@ -1,6 +1,5 @@ ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim | FileCheck %s -; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim -enable-stackmap-liveness| FileCheck -check-prefix=STACK %s -; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim -enable-patchpoint-liveness| FileCheck -check-prefix=PATCH %s +; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim -enable-patchpoint-liveness | FileCheck -check-prefix=PATCH %s ; ; Note: Print verbose stackmaps using -debug-only=stackmaps. @@ -37,36 +36,21 @@ entry: ; Align ; CHECK-NEXT: .align 3 -; StackMap 1 (stackmap liveness information enabled) -; STACK-LABEL: .long L{{.*}}-_stackmap_liveness -; STACK-NEXT: .short 0 -; STACK-NEXT: .short 0 -; Padding -; STACK-NEXT: .short 0 -; Num LiveOut Entries: 2 -; STACK-NEXT: .short 2 -; LiveOut Entry 1: %RSP (8 bytes) -; STACK-NEXT: .short 7 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 8 -; LiveOut Entry 2: %YMM2 (16 bytes) --> %XMM2 -; STACK-NEXT: .short 19 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 16 -; Align -; STACK-NEXT: .align 3 - ; StackMap 1 (patchpoint liveness information enabled) ; PATCH-LABEL: .long L{{.*}}-_stackmap_liveness ; PATCH-NEXT: .short 0 ; PATCH-NEXT: .short 0 ; Padding ; PATCH-NEXT: .short 0 -; Num LiveOut Entries: 0 -; PATCH-NEXT: .short 0 +; Num LiveOut Entries: 1 +; PATCH-NEXT: .short 1 +; LiveOut Entry 1: %YMM2 (16 bytes) --> %XMM2 +; PATCH-NEXT: .short 19 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 16 ; Align ; PATCH-NEXT: .align 3 - call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 1, i32 5) + call anyregcc void (i64, i32, i8*, i32, ...)* @llvm.experimental.patchpoint.void(i64 1, i32 12, i8* null, i32 0) %a2 = call i64 asm sideeffect "", "={r8}"() nounwind %a3 = call i8 asm sideeffect "", "={ah}"() nounwind %a4 = call <4 x double> asm sideeffect "", "={ymm0}"() nounwind @@ -83,52 +67,37 @@ entry: ; Align ; CHECK-NEXT: .align 3 -; StackMap 2 (stackmap liveness information enabled) -; STACK-LABEL: .long L{{.*}}-_stackmap_liveness -; STACK-NEXT: .short 0 -; STACK-NEXT: .short 0 -; Padding -; STACK-NEXT: .short 0 -; Num LiveOut Entries: 6 -; STACK-NEXT: .short 6 -; LiveOut Entry 1: %RAX (1 bytes) --> %AL or %AH -; STACK-NEXT: .short 0 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 1 -; LiveOut Entry 2: %RSP (8 bytes) -; STACK-NEXT: .short 7 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 8 -; LiveOut Entry 3: %R8 (8 bytes) -; STACK-NEXT: .short 8 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 8 -; LiveOut Entry 4: %YMM0 (32 bytes) -; STACK-NEXT: .short 17 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 32 -; LiveOut Entry 5: %YMM1 (32 bytes) -; STACK-NEXT: .short 18 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 32 -; LiveOut Entry 6: %YMM2 (16 bytes) --> %XMM2 -; STACK-NEXT: .short 19 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 16 -; Align -; STACK-NEXT: .align 3 - ; StackMap 2 (patchpoint liveness information enabled) ; PATCH-LABEL: .long L{{.*}}-_stackmap_liveness ; PATCH-NEXT: .short 0 ; PATCH-NEXT: .short 0 ; Padding ; PATCH-NEXT: .short 0 -; Num LiveOut Entries: 0 +; Num LiveOut Entries: 5 +; PATCH-NEXT: .short 5 +; LiveOut Entry 1: %RAX (1 bytes) --> %AL or %AH ; PATCH-NEXT: .short 0 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 1 +; LiveOut Entry 2: %R8 (8 bytes) +; PATCH-NEXT: .short 8 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 8 +; LiveOut Entry 3: %YMM0 (32 bytes) +; PATCH-NEXT: .short 17 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 32 +; LiveOut Entry 4: %YMM1 (32 bytes) +; PATCH-NEXT: .short 18 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 32 +; LiveOut Entry 5: %YMM2 (16 bytes) --> %XMM2 +; PATCH-NEXT: .short 19 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 16 ; Align ; PATCH-NEXT: .align 3 - call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 2, i32 5) + call anyregcc void (i64, i32, i8*, i32, ...)* @llvm.experimental.patchpoint.void(i64 2, i32 12, i8* null, i32 0) call void asm sideeffect "", "{r8},{ah},{ymm0},{ymm1}"(i64 %a2, i8 %a3, <4 x double> %a4, <4 x double> %a5) nounwind ; StackMap 3 (no liveness information available) @@ -142,36 +111,25 @@ entry: ; Align ; CHECK-NEXT: .align 3 -; StackMap 3 (stackmap liveness information enabled) -; STACK-LABEL: .long L{{.*}}-_stackmap_liveness -; STACK-NEXT: .short 0 -; STACK-NEXT: .short 0 -; Padding -; STACK-NEXT: .short 0 -; Num LiveOut Entries: 2 -; STACK-NEXT: .short 2 -; LiveOut Entry 1: %RSP (8 bytes) -; STACK-NEXT: .short 7 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 8 -; LiveOut Entry 2: %YMM2 (16 bytes) --> %XMM2 -; STACK-NEXT: .short 19 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 16 -; Align -; STACK-NEXT: .align 3 - ; StackMap 3 (patchpoint liveness information enabled) ; PATCH-LABEL: .long L{{.*}}-_stackmap_liveness ; PATCH-NEXT: .short 0 ; PATCH-NEXT: .short 0 ; Padding ; PATCH-NEXT: .short 0 -; Num LiveOut Entries: 0 -; PATCH-NEXT: .short 0 +; Num LiveOut Entries: 2 +; PATCH-NEXT: .short 2 +; LiveOut Entry 1: %RSP (8 bytes) +; PATCH-NEXT: .short 7 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 8 +; LiveOut Entry 2: %YMM2 (16 bytes) --> %XMM2 +; PATCH-NEXT: .short 19 +; PATCH-NEXT: .byte 0 +; PATCH-NEXT: .byte 16 ; Align ; PATCH-NEXT: .align 3 - call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 3, i32 5) + call anyregcc void (i64, i32, i8*, i32, ...)* @llvm.experimental.patchpoint.void(i64 3, i32 12, i8* null, i32 0) call void asm sideeffect "", "{xmm2}"(<2 x double> %a1) nounwind ret void } @@ -179,33 +137,6 @@ entry: define void @mixed_liveness() { entry: %a1 = call <2 x double> asm sideeffect "", "={xmm2}"() nounwind -; StackMap 4 (stackmap liveness information enabled) -; STACK-LABEL: .long L{{.*}}-_mixed_liveness -; STACK-NEXT: .short 0 -; STACK-NEXT: .short 0 -; Padding -; STACK-NEXT: .short 0 -; Num LiveOut Entries: 1 -; STACK-NEXT: .short 1 -; LiveOut Entry 1: %YMM2 (16 bytes) --> %XMM2 -; STACK-NEXT: .short 19 -; STACK-NEXT: .byte 0 -; STACK-NEXT: .byte 16 -; Align -; STACK-NEXT: .align 3 - - -; StackMap 5 (stackmap liveness information enabled) -; STACK-LABEL: .long L{{.*}}-_mixed_liveness -; STACK-NEXT: .short 0 -; STACK-NEXT: .short 0 -; Padding -; STACK-NEXT: .short 0 -; Num LiveOut Entries: 0 -; STACK-NEXT: .short 0 -; Align -; STACK-NEXT: .align 3 - ; StackMap 4 (patchpoint liveness information enabled) ; PATCH-LABEL: .long L{{.*}}-_mixed_liveness ; PATCH-NEXT: .short 0 |