X86: correct tail return address calculation
authorTim Northover <tnorthover@apple.com>
Sun, 4 Aug 2013 09:35:57 +0000 (09:35 +0000)
committerTim Northover <tnorthover@apple.com>
Sun, 4 Aug 2013 09:35:57 +0000 (09:35 +0000)
commitecc018c7b750289511052ee5d83c40a574e499ac
tree1447fe8dc57570ac07c7767dad7ceacc13ade877
parent1df3a1f67849d31e388b04037b1b6013fcab0651
X86: correct tail return address calculation

Due to the weird and wondeful usual arithmetic conversions, some
calculations involving negative values were getting performed in
uint32_t and then promoted to int64_t, which is really not a good
idea.

Patch by Katsuhiro Ueno.

llvm-svn: 187703
llvm/lib/Target/X86/X86FrameLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/tailcall-calleesave.ll [new file with mode: 0644]