<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/Transforms/NaCl, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/Transforms/NaCl?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/Transforms/NaCl?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2014-03-06T20:56:53Z</updated>
<entry>
<title>Implement integer promotion for urem, udiv, srem, and sdiv</title>
<updated>2014-03-06T20:56:53Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-03-06T20:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=68081ee62375a1d900d46f969e38330f14fb8775'/>
<id>urn:sha1:68081ee62375a1d900d46f969e38330f14fb8775</id>
<content type='text'>
The optimizer sometimes thinks it's beneficial to truncate all manner of
i64 operators to narrower types, even when still wider than the platform's
widest legal type.
</content>
</entry>
<entry>
<title>Move ExpandI64 into lib/Target/JSBackend.</title>
<updated>2014-02-28T19:22:37Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@mozilla.com</email>
</author>
<published>2014-02-26T16:47:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=0dac79df771f7708a03e724126dded4f64531bc5'/>
<id>urn:sha1:0dac79df771f7708a03e724126dded4f64531bc5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Preserve alignment information when promoting integer loads and stores.</title>
<updated>2014-02-14T19:38:16Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-14T03:24:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=71fb6dcb87d2abd302080149d4a583a5e35e3697'/>
<id>urn:sha1:71fb6dcb87d2abd302080149d4a583a5e35e3697</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Preserve alignment information when splitting loads and stores.</title>
<updated>2014-02-14T19:38:16Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-14T03:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f3359807242e95f9e94bb35c0d90a73c794f1af0'/>
<id>urn:sha1:f3359807242e95f9e94bb35c0d90a73c794f1af0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Emscripten doesn't need to legalize pointers.</title>
<updated>2014-02-13T23:04:31Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-13T22:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=7f2cf3ceadbcbb41227b9c0008c33d7e911e59e3'/>
<id>urn:sha1:7f2cf3ceadbcbb41227b9c0008c33d7e911e59e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't leave behind unreachable blocks with illegal instructions.</title>
<updated>2014-02-13T19:47:44Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-13T19:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=6f629a513c37587247dc83b961e86c177cef5d6d'/>
<id>urn:sha1:6f629a513c37587247dc83b961e86c177cef5d6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revamp ExpandI64.</title>
<updated>2014-02-13T06:30:21Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-13T02:09:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=718e02f4cea34a6f34d7a6f1f82411960bff1ba4'/>
<id>urn:sha1:718e02f4cea34a6f34d7a6f1f82411960bff1ba4</id>
<content type='text'>
By using a reverse-postorder traversal of the basic blocks, we can perform
this transform in a single pass. This eliminates the need for tricky
coordination between the passes.
</content>
</entry>
<entry>
<title>Generalize PromoteIntegers to handle arbitrary bit widths.</title>
<updated>2014-02-13T06:30:21Z</updated>
<author>
<name>Dan Gohman</name>
<email>sunfish@google.com</email>
</author>
<published>2014-02-13T02:09:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=2b36da6f5426d0ea67c85fdee8016a5bbc828a23'/>
<id>urn:sha1:2b36da6f5426d0ea67c85fdee8016a5bbc828a23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PNaCl: Change exception info format to distinguish catch-all/cleanup clauses</title>
<updated>2013-11-16T01:22:57Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-11-16T01:22:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a4504c6f116760d6c0f9f920bb755c3d0136f6c6'/>
<id>urn:sha1:a4504c6f116760d6c0f9f920bb755c3d0136f6c6</id>
<content type='text'>
The initial version of ExceptionInfoWriter.cpp encodes a landingpad's
"cleanup" clause the same as "catch i8* null" (a catch-all).

But it turns out we do want to distinguish these two: If an uncaught
exception occurs, we don't want the runtime to run C++ destructors
(cleanups), because this involves unwinding the stack to jump to
landingpads, which loses the context of where the uncaught exception
was thrown from, which is unhelpful for debugging.  (The C++ standard
says it's optional whether destructors are run when an uncaught
exception occurs.)

So, change the encoding as follows:

 * Use 0 as the ID for "cleanup" clauses.
 * Add 1 to the IDs of types and "catch" clauses.  (Adding 1 to both
   seems neater than just one of them.)
 * This means we can use 0 for the terminator of filter lists instead
   of -1, which seems a little neater.

This requires a corresponding change to eh_pnacl.cc in libsupc++.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3696
TEST=NaCl's EH tests with libsupc++ change applied

Review URL: https://codereview.chromium.org/69923008
</content>
</entry>
<entry>
<title>Switch PromoteIntegers pass from clearing upper bits after converted operations</title>
<updated>2013-11-15T19:02:12Z</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2013-11-15T19:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ee2d94412a363a6e50574fc9b81b64f6d096e298'/>
<id>urn:sha1:ee2d94412a363a6e50574fc9b81b64f6d096e298</id>
<content type='text'>
that may affect them, to clearing before operations that may be affected

This is just a cleanup that doesn't have any significant performance or
functionality impact, but I thought it might make fixing bug 3714 a bit
simpler.

R=mseaborn@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3714

Review URL: https://codereview.chromium.org/59533011
</content>
</entry>
</feed>
