<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/unittests, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/unittests?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/unittests?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-05-10T20:28:44Z</updated>
<entry>
<title>Fixing MCJIT unit test on Windows.</title>
<updated>2013-05-10T20:28:44Z</updated>
<author>
<name>Andrew Kaylor</name>
<email>andrew.kaylor@intel.com</email>
</author>
<published>2013-05-10T20:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=30b015f044cd0157b68f5737321f685741c17423'/>
<id>urn:sha1:30b015f044cd0157b68f5737321f685741c17423</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@181625 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.</title>
<updated>2013-05-06T21:56:35Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-05-06T21:56:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=61e01721978af4c2979c4b9153e56e72eb6389fb'/>
<id>urn:sha1:61e01721978af4c2979c4b9153e56e72eb6389fb</id>
<content type='text'>
Patch by Dan Liew!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181254 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Support command line option categories.</title>
<updated>2013-05-06T21:56:23Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-05-06T21:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=b7ad33b7195cb99b0cbb1c5308324d328650ca45'/>
<id>urn:sha1:b7ad33b7195cb99b0cbb1c5308324d328650ca45</id>
<content type='text'>
Patch by Dan Liew!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181253 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[SystemZ] Set up JIT/MCJIT test cases</title>
<updated>2013-05-06T16:21:50Z</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2013-05-06T16:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=7207285e65730c0ce488ca2ddf86dee27d66e57a'/>
<id>urn:sha1:7207285e65730c0ce488ca2ddf86dee27d66e57a</id>
<content type='text'>
This patch adds the necessary configuration bits and #ifdef's to set up
the JIT/MCJIT test cases for SystemZ.  Like other recent targets, we do
fully support MCJIT, but do not support the old JIT at all.  Set up the
lit config files accordingly, and disable old-JIT unit tests.

Patch by Richard Sandiford.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181207 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Simplify JIT unit test #ifdefs</title>
<updated>2013-05-06T16:10:35Z</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2013-05-06T16:10:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1218bc4fe627ae4d60491ea89124965302815f1f'/>
<id>urn:sha1:1218bc4fe627ae4d60491ea89124965302815f1f</id>
<content type='text'>
Several platforms need to disable all old-JIT unit tests, since they only
support the new MCJIT.  This currently done via #ifdef'ing out those tests
in the ExecutionEngine/JIT/*.cpp files.  As those #ifdef's have grown
historically, we now have a number of repeated directives which -in total-
cover nearly the whole file, but leave a couple of helper functions out.
When building the tests with clang itself, those helper functions now
cause spurious "unused function" warnings.

To fix those warnings, and also to remove the duplicate #ifdef conditions
and make it easier to disable the tests for a new target, this patch
consolidates the #ifdefs into a single one per file, which covers all
the tests including all helper routines.

Tested on PowerPC and SystemZ.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181200 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add missing PatternMatch.cpp to CMakeLists.txt</title>
<updated>2013-05-05T02:14:28Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T02:14:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=46e7e6f39e8a4efec0cc45ca346b40683288ff9e'/>
<id>urn:sha1:46e7e6f39e8a4efec0cc45ca346b40683288ff9e</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181147 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>PatternMatch: Matcher for (un)ordered floating point min/max</title>
<updated>2013-05-05T01:54:46Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>aschwaighofer@apple.com</email>
</author>
<published>2013-05-05T01:54:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=e79d92c592d75e210dbe3abe1a975e859d17e953'/>
<id>urn:sha1:e79d92c592d75e210dbe3abe1a975e859d17e953</id>
<content type='text'>
Add support for matching 'ordered' and 'unordered' floating point min/max
constructs.

In LLVM we can express min/max functions as a combination of compare and select.
We have support for matching such constructs for integers but not for floating
point. In floating point math there is no total order because of the presence of
'NaN'. Therefore, we have to be careful to preserve the original fcmp semantics
when interpreting floating point compare select combinations as a minimum or
maximum function. The resulting 'ordered/unordered' floating point maximum
function has to select the same value as the select/fcmp combination it is based
on.

 ordered_max(x,y)   = max(x,y) iff x and y are not NaN, y otherwise
 unordered_max(x,y) = max(x,y) iff x and y are not NaN, x otherwise
 ordered_min(x,y)   = min(x,y) iff x and y are not NaN, y otherwise
 unordered_min(x,y) = min(x,y) iff x and y are not NaN, x otherwise

This matches the behavior of the underlying select(fcmp(olt/ult/.., L, R), L, R)
construct.

Any code using this predicate has to preserve this semantics.

A follow-up patch will use this to implement floating point min/max reductions
in the vectorizer.

radar://13723044

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181143 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>This exposes more MCJIT options via the C API:</title>
<updated>2013-05-01T22:58:00Z</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2013-05-01T22:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=0e1327e4aa1426aaa3f99a2cbfcb1f2b575791ad'/>
<id>urn:sha1:0e1327e4aa1426aaa3f99a2cbfcb1f2b575791ad</id>
<content type='text'>
CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like.  Previously it was only possible to 
create an MCJIT that used CodeModel::JITDefault.

EnableFastISel: It's now possible to turn on the fast instruction selector.

The CodeModel option required some trickery.  The problem is that previously, we were ensuring future binary compatibility in 
the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the 
bindings then bzero the remaining bits.  This works great but assumes that the bitwise zero equivalent of any field is a 
sensible default value.

But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model.  In both of those, the default 
for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero.

Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with
defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp
illustrates the change, as does the comment in ExecutionEngine.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180893 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Wrap some lines to bring MCJITCAPITest into conformance with the 80 column limit.</title>
<updated>2013-05-01T06:46:59Z</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2013-05-01T06:46:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a4fa74e38163ec3dc652f31ddac2c08e4a05889c'/>
<id>urn:sha1:a4fa74e38163ec3dc652f31ddac2c08e4a05889c</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180839 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Try to fix ProgramTest on FreeBSD</title>
<updated>2013-04-30T04:30:41Z</updated>
<author>
<name>Reid Kleckner</name>
<email>reid@kleckner.net</email>
</author>
<published>2013-04-30T04:30:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=2a839438559bc7d3067ff2166105f47e0af06b37'/>
<id>urn:sha1:2a839438559bc7d3067ff2166105f47e0af06b37</id>
<content type='text'>
This seemed like the cleanest way to find the test executable.  Also fix
the file mode.

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