Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
test/CodeGen/X86/hipe-cc64.ll
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | |||||
; Sanity-check the tail call sequence. Number of arguments was chosen as to | ; Sanity-check the tail call sequence. Number of arguments was chosen as to | ||||
; expose a bug where the tail call sequence clobbered the stack. | ; expose a bug where the tail call sequence clobbered the stack. | ||||
define cc 11 { i64, i64, i64 } @tailcaller(i64 %hp, i64 %p) #0 { | define cc 11 { i64, i64, i64 } @tailcaller(i64 %hp, i64 %p) #0 { | ||||
; CHECK: movl $15, %esi | ; CHECK: movl $15, %esi | ||||
; CHECK-NEXT: movl $31, %edx | ; CHECK-NEXT: movl $31, %edx | ||||
; CHECK-NEXT: movl $47, %ecx | ; CHECK-NEXT: movl $47, %ecx | ||||
; CHECK-NEXT: movl $63, %r8d | ; CHECK-NEXT: movl $63, %r8d | ||||
; CHECK-NEXT: popq %rax | ; CHECK-NEXT: popq %rax | ||||
; CHECK-NEXT: : | |||||
; CHECK-NEXT: .cfi_def_cfa_offset 16 | |||||
; CHECK-NEXT: jmp tailcallee | ; CHECK-NEXT: jmp tailcallee | ||||
%ret = tail call cc11 { i64, i64, i64 } @tailcallee(i64 %hp, i64 %p, i64 15, | %ret = tail call cc11 { i64, i64, i64 } @tailcallee(i64 %hp, i64 %p, i64 15, | ||||
i64 31, i64 47, i64 63, i64 79) #1 | i64 31, i64 47, i64 63, i64 79) #1 | ||||
ret { i64, i64, i64 } %ret | ret { i64, i64, i64 } %ret | ||||
} | } | ||||
!hipe.literals = !{ !0, !1, !2 } | !hipe.literals = !{ !0, !1, !2 } | ||||
!0 = !{ !"P_NSP_LIMIT", i32 160 } | !0 = !{ !"P_NSP_LIMIT", i32 160 } | ||||
!1 = !{ !"X86_LEAF_WORDS", i32 24 } | !1 = !{ !"X86_LEAF_WORDS", i32 24 } | ||||
!2 = !{ !"AMD64_LEAF_WORDS", i32 24 } | !2 = !{ !"AMD64_LEAF_WORDS", i32 24 } | ||||
@clos = external constant i64 | @clos = external constant i64 | ||||
declare cc 11 void @bar(i64, i64, i64, i64, i64, i64) | declare cc 11 void @bar(i64, i64, i64, i64, i64, i64) | ||||
declare cc 11 { i64, i64, i64 } @tailcallee(i64, i64, i64, i64, i64, i64, i64) | declare cc 11 { i64, i64, i64 } @tailcallee(i64, i64, i64, i64, i64, i64, i64) |