aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-02-18 09:24:53 +0000
committerOwen Anderson <resistor@mac.com>2008-02-18 09:24:53 +0000
commit282dd32458a4387a91b1a2a412d48e44436036db (patch)
treed1def04f316ef138fc6afe4cb5a91349cfe71054 /lib/CodeGen/LiveIntervalAnalysis.cpp
parent8665298d322769f7693ce9528d015e0f18e43103 (diff)
downloadexternal_llvm-282dd32458a4387a91b1a2a412d48e44436036db.zip
external_llvm-282dd32458a4387a91b1a2a412d48e44436036db.tar.gz
external_llvm-282dd32458a4387a91b1a2a412d48e44436036db.tar.bz2
Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls
another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct return value. llvm-gcc does not emit this by default. Instead, it allocates space in the caller for the sret of the tail call and then uses memcpy to copy the result into the caller's sret parameter. This optimization detects and optimizes that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47265 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions