<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/CodeGen/X86/tailcall-largecode.ll, branch 1.13.2</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86/tailcall-largecode.ll?h=1.13.2</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86/tailcall-largecode.ll?h=1.13.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2012-07-04T19:28:31Z</updated>
<entry>
<title>Ensure CopyToReg nodes are always glued to the call instruction.</title>
<updated>2012-07-04T19:28:31Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-07-04T19:28:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=b8720787015dc73d8a050b063366be6c3ad01946'/>
<id>urn:sha1:b8720787015dc73d8a050b063366be6c3ad01946</id>
<content type='text'>
The CopyToReg nodes that set up the argument registers before a call
must be glued to the call instruction. Otherwise, the scheduler may emit
the physreg copies long before the call, causing long live ranges for
the fixed registers.

Besides disabling good register allocation, that can also expose
problems when EmitInstrWithCustomInserter() splits a basic block during
the live range of a physreg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159721 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use pushq / popq instead of subq $8, %rsp / addq $8, %rsp to adjust stack in</title>
<updated>2011-01-03T22:53:22Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-01-03T22:53:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=7158e08b8e619f4dcac9834c57f5f8afd6eea2eb'/>
<id>urn:sha1:7158e08b8e619f4dcac9834c57f5f8afd6eea2eb</id>
<content type='text'>
prologue and epilogue if the adjustment is 8. Similarly, use pushl / popl if
the adjustment is 4 in 32-bit mode.

In the epilogue, takes care to pop to a caller-saved register that's not live
at the exit (either return or tailcall instruction).
rdar://8771137


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122783 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Do not force indirect tailcall through fixed registers: eax, r11. Add support to allow loads to be folded to tail call instructions.</title>
<updated>2010-03-14T03:48:46Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-03-14T03:48:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f48ef0365545b6160836e3f4b4a210d1e21f1881'/>
<id>urn:sha1:f48ef0365545b6160836e3f4b4a210d1e21f1881</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98465 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix http://llvm.org/PR5729: x86-64 tail calls were putting their targets into</title>
<updated>2010-01-09T18:56:43Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-01-09T18:56:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a77169dbeb250d1992938650084dc799472fb956'/>
<id>urn:sha1:a77169dbeb250d1992938650084dc799472fb956</id>
<content type='text'>
R11, and then asserting that the target was in R9.  Since R9 isn't reserved for
the target anymore, and is used as an argument, this patch changes the
assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93065 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
