Implement an x86-64 ABI detail of passing structs by hidden first
authorDan Gohman <gohman@apple.com>
Mon, 21 Apr 2008 23:59:07 +0000 (23:59 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 21 Apr 2008 23:59:07 +0000 (23:59 +0000)
commit61a921344090457f9429e44c7906ea75ce97e020
tree14e1e665a355f7ff167f531a2bb2d3155f3baa9e
parentf1f12f91e804d77ed301d006a412c169966e8ac9
Implement an x86-64 ABI detail of passing structs by hidden first
argument. The x86-64 ABI requires the incoming value of %rdi to
be copied to %rax on exit from a function that is returning a
large C struct.

Also, add a README-X86-64 entry detailing the missed optimization
opportunity and proposing an alternative approach.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50075 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/README-X86-64.txt
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86MachineFunctionInfo.h
test/CodeGen/X86/x86-64-sret-return.ll [new file with mode: 0644]