diff options
author | Hans Wennborg <hans@hanshq.net> | 2016-09-08 23:35:10 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2016-09-08 23:35:10 +0000 |
commit | c39ef776fcf7360de7ff7b7eb2e63cd3c580dd3b (patch) | |
tree | 0b8e064ab878722e45cd5951edb851b49bdf4c3b /llvm/test | |
parent | f205a274c4cdcab2635406471cab9b540aeb3b4a (diff) | |
download | bcm5719-llvm-c39ef776fcf7360de7ff7b7eb2e63cd3c580dd3b.tar.gz bcm5719-llvm-c39ef776fcf7360de7ff7b7eb2e63cd3c580dd3b.zip |
Win64: Don't use REX prefix for direct tail calls
The REX prefix should be used on indirect jmps, but not direct ones.
For direct jumps, the unwinder looks at the offset to determine if
it's inside the current function.
Differential Revision: https://reviews.llvm.org/D24359
llvm-svn: 281003
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/seh-catchpad.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/tail-call-win64.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/win64_sibcall.ll | 2 | ||||
-rw-r--r-- | llvm/test/DebugInfo/COFF/register-variables.ll | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/seh-catchpad.ll b/llvm/test/CodeGen/X86/seh-catchpad.ll index d9b4c5c6bcf..4b2a9f9b6d8 100644 --- a/llvm/test/CodeGen/X86/seh-catchpad.ll +++ b/llvm/test/CodeGen/X86/seh-catchpad.ll @@ -173,7 +173,7 @@ entry: ; CHECK: "?filt$0@0@main@@": # @"\01?filt$0@0@main@@" ; CHECK: .seh_proc "?filt$0@0@main@@" ; CHECK: .seh_endprologue -; CHECK: rex64 jmp filt # TAILCALL +; CHECK: jmp filt # TAILCALL ; CHECK: .seh_handlerdata declare i32 @filt() #1 diff --git a/llvm/test/CodeGen/X86/tail-call-win64.ll b/llvm/test/CodeGen/X86/tail-call-win64.ll index fb10d5d2a24..6d230201a7a 100644 --- a/llvm/test/CodeGen/X86/tail-call-win64.ll +++ b/llvm/test/CodeGen/X86/tail-call-win64.ll @@ -22,7 +22,7 @@ define void @tail_jmp_imm() { } ; CHECK-LABEL: tail_jmp_imm: -; CHECK: rex64 jmp tail_tgt +; CHECK: jmp tail_tgt @g_fptr = global void ()* @tail_tgt diff --git a/llvm/test/CodeGen/X86/win64_sibcall.ll b/llvm/test/CodeGen/X86/win64_sibcall.ll index 4001f638c2a..4bba0e1e0ac 100644 --- a/llvm/test/CodeGen/X86/win64_sibcall.ll +++ b/llvm/test/CodeGen/X86/win64_sibcall.ll @@ -21,7 +21,7 @@ entry: ; WIN_X64: xorl %r8d, %r8d ; WIN_X64: popq %rax -; WIN_X64: rex64 jmp C2 # TAILCALL +; WIN_X64: jmp C2 # TAILCALL ; LINUX: xorl %edx, %edx ; LINUX: jmp C2 # TAILCALL diff --git a/llvm/test/DebugInfo/COFF/register-variables.ll b/llvm/test/DebugInfo/COFF/register-variables.ll index 9bb782853a3..5392ea6238e 100644 --- a/llvm/test/DebugInfo/COFF/register-variables.ll +++ b/llvm/test/DebugInfo/COFF/register-variables.ll @@ -54,7 +54,7 @@ ; ASM: addq $32, %rsp ; ASM: popq %rsi ; ASM: [[func_end:\.Ltmp.*]]: -; ASM: rex64 jmp putint # TAILCALL +; ASM: jmp putint # TAILCALL ; ASM: .short 4414 # Record kind: S_LOCAL ; ASM: .asciz "p" |