Win64: Don't use REX prefix for direct tail calls
authorHans Wennborg <hans@hanshq.net>
Thu, 8 Sep 2016 23:35:10 +0000 (23:35 +0000)
committerHans Wennborg <hans@hanshq.net>
Thu, 8 Sep 2016 23:35:10 +0000 (23:35 +0000)
commitc39ef776fcf7360de7ff7b7eb2e63cd3c580dd3b
tree0b8e064ab878722e45cd5951edb851b49bdf4c3b
parentf205a274c4cdcab2635406471cab9b540aeb3b4a
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
llvm/lib/Target/X86/X86ExpandPseudo.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86InstrControl.td
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/lib/Target/X86/X86MCInstLower.cpp
llvm/test/CodeGen/X86/seh-catchpad.ll
llvm/test/CodeGen/X86/tail-call-win64.ll
llvm/test/CodeGen/X86/win64_sibcall.ll
llvm/test/DebugInfo/COFF/register-variables.ll