<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Makefile, branch release_27</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Makefile?h=release_27</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Makefile?h=release_27'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2010-02-25T06:34:33Z</updated>
<entry>
<title>Try r96559 for the third time.  This time the shared library is only built if</title>
<updated>2010-02-25T06:34:33Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-02-25T06:34:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c90171961d020d93e4ce548016d8ccb8aab00c57'/>
<id>urn:sha1:c90171961d020d93e4ce548016d8ccb8aab00c57</id>
<content type='text'>
--enable-shared is passed to configure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97119 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Roll back r96959 again.</title>
<updated>2010-02-23T20:53:37Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-02-23T20:53:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=407fbdd161d4134901fefe267779a4aaaeab2f0d'/>
<id>urn:sha1:407fbdd161d4134901fefe267779a4aaaeab2f0d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96981 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM.  This links 3 of</title>
<updated>2010-02-23T18:10:07Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-02-23T18:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ea6c39d417172a8edb99667e93cd6b67cd024e6a'/>
<id>urn:sha1:ea6c39d417172a8edb99667e93cd6b67cd024e6a</id>
<content type='text'>
the examples shared to make sure the shared library keeps working.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96959 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Eliminate llvmgcc_version testing variable.</title>
<updated>2010-02-23T07:56:28Z</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2010-02-23T07:56:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3d4d01bd39653ca869c4fca211fa861bfcf33dcc'/>
<id>urn:sha1:3d4d01bd39653ca869c4fca211fa861bfcf33dcc</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96908 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Kill unused llvmgccmajvers testing variable.</title>
<updated>2010-02-23T07:56:18Z</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2010-02-23T07:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a2b40a95b264a8a00d849928cc510556bbf778a3'/>
<id>urn:sha1:a2b40a95b264a8a00d849928cc510556bbf778a3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96906 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Roll back the shared library, r96559.  It broke two darwins and arm, mysteriously.</title>
<updated>2010-02-18T04:43:02Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-02-18T04:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2155d459a7de626bb77849e5956ef2363d7d4a87'/>
<id>urn:sha1:2155d459a7de626bb77849e5956ef2363d7d4a87</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96569 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an</title>
<updated>2010-02-18T02:36:02Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2010-02-18T02:36:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f6afae2f49ed65a6a482257c7e55520857d751b7'/>
<id>urn:sha1:f6afae2f49ed65a6a482257c7e55520857d751b7</id>
<content type='text'>
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.)  Always link the
example programs shared to test that the shared library keeps working.

On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.

Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96559 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert the test from r88984. It relies on being able to mmap 16GB of</title>
<updated>2009-11-16T23:32:30Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2009-11-16T23:32:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=feada9462b4917fe48e18fca8d21335b3c51e802'/>
<id>urn:sha1:feada9462b4917fe48e18fca8d21335b3c51e802</id>
<content type='text'>
address space (though it only uses a small fraction of that), and the
buildbots disallow that.

Also add a comment to the Makefile's ulimit line warning future
developers that changing it won't work.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88994 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make X86-64 in the Large model always emit 64-bit calls.</title>
<updated>2009-11-16T22:41:33Z</updated>
<author>
<name>Jeffrey Yasskin</name>
<email>jyasskin@google.com</email>
</author>
<published>2009-11-16T22:41:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d1ba06bf131a9d217426529d2e28af1f2eeed47a'/>
<id>urn:sha1:d1ba06bf131a9d217426529d2e28af1f2eeed47a</id>
<content type='text'>
The large code model is documented at
http://www.x86-64.org/documentation/abi.pdf and says that calls should
assume their target doesn't live within the 32-bit pc-relative offset
that fits in the call instruction.

To do this, we turn off the global-address-&gt;target-global-address
conversion in X86TargetLowering::LowerCall(). The first attempt at
this broke the lazy JIT because it can separate the movabs(imm-&gt;reg)
from the actual call instruction. The lazy JIT receives the address of
the movabs as a relocation and needs to record the return address from
the call; and then when that call happens, it needs to patch the
movabs with the newly-compiled target. We could thread the call
instruction into the relocation and record the movabs&lt;-&gt;call mapping
explicitly, but that seems to require at least as much new
complication in the code generator as this change.

To fix this, we make lazy functions _always_ go through a call
stub. You'd think we'd only have to force lazy calls through a stub on
difficult platforms, but that turns out to break indirect calls
through a function pointer. The right fix for that is to distinguish
between calls and address-of operations on uncompiled functions, but
that's complex enough to leave for someone else to do.

Another attempt at this defined a new CALL64i pseudo-instruction,
which expanded to a 2-instruction sequence in the assembly output and
was special-cased in the X86CodeEmitter's emitInstruction()
function. That broke indirect calls in the same way as above.

This patch also removes a hack forcing Darwin to the small code model.
Without far-call-stubs, the small code model requires things of the
JITMemoryManager that the DefaultJITMemoryManager can't provide.

Thanks to echristo for lots of testing!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88984 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Two small fixes for site.exp for cmake.</title>
<updated>2009-11-08T09:29:52Z</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2009-11-08T09:29:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4080d10b4ba943830865945546028d6a975ad964'/>
<id>urn:sha1:4080d10b4ba943830865945546028d6a975ad964</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86453 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
