<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/tools, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/tools?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/tools?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2014-02-26T17:37:10Z</updated>
<entry>
<title>NoExitRuntime</title>
<updated>2014-02-26T17:37:10Z</updated>
<author>
<name>Alon Zakai</name>
<email>alonzakai@gmail.com</email>
</author>
<published>2014-02-26T02:02:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=547e6d4d13108f7b9a9c0c81451b623017dd7eff'/>
<id>urn:sha1:547e6d4d13108f7b9a9c0c81451b623017dd7eff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>boilerplate for ExpandI64Pass</title>
<updated>2013-12-04T18:57:52Z</updated>
<author>
<name>Alon Zakai</name>
<email>alonzakai@gmail.com</email>
</author>
<published>2013-12-04T18:57:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=82307b1c5b914e45b400aa5721688714adce18e7'/>
<id>urn:sha1:82307b1c5b914e45b400aa5721688714adce18e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pnacl-benchmark - an ad-hoc tool to benchmark PNaCl translation-related stuff.</title>
<updated>2013-11-21T00:17:11Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-11-21T00:17:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=9d4cc0b069eb0f8b54682c3497ea8ccabf133b98'/>
<id>urn:sha1:9d4cc0b069eb0f8b54682c3497ea8ccabf133b98</id>
<content type='text'>
For now benchmarks reading/parsing/LLVM IR forming from PNaCl bitcode

BUG=None
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/76973002
</content>
</entry>
<entry>
<title>Factor out bitcode parser from pnacl-bcanalyzer.</title>
<updated>2013-11-07T16:54:33Z</updated>
<author>
<name>Karl Schimpf</name>
<email>kschimpf@google.com</email>
</author>
<published>2013-11-07T16:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=2796c5b8a31ea88cc24bf3449a95319928c93519'/>
<id>urn:sha1:2796c5b8a31ea88cc24bf3449a95319928c93519</id>
<content type='text'>
Factors out bitcode parser from pnacl-bcanalyzer, so that it can also
be used for PNaCl bitcode to bitcode rewriters.

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

Review URL: https://codereview.chromium.org/48623003
</content>
</entry>
<entry>
<title>Remove obsolete bitcode wrapper code</title>
<updated>2013-10-23T15:35:49Z</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2013-10-23T15:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=99a581677ff9a785f77e9d9d171b87d61f2da25e'/>
<id>urn:sha1:99a581677ff9a785f77e9d9d171b87d61f2da25e</id>
<content type='text'>
We are using our own bitcode reader now, and no longer need this.

R=jvoung@chromium.org, kschimpf@google.com
BUG=cleanup

Review URL: https://codereview.chromium.org/32943005
</content>
</entry>
<entry>
<title>Add PNaClSjLjEH pass to implement C++ exception handling using setjmp()+longjmp()</title>
<updated>2013-10-16T20:06:24Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-16T20:06:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f058041de6c69aadafcd030c62678d4244ba2cf7'/>
<id>urn:sha1:f058041de6c69aadafcd030c62678d4244ba2cf7</id>
<content type='text'>
There are two parts to this:

 * PNaClSjLjEH.cpp expands out the "invoke", "landingpad" and "resume"
   instructions, modifying the control flow to use setjmp().

 * ExceptionInfoWriter.cpp lowers landingpads' clause lists to data
   that PNaCl's C++ runtime library will interpret.  This part will be
   reused when we drop the SjLj part and create a stable ABI for
   zero-cost EH.

This pass isn't enabled in PNaClABISimplify yet: I'll do that in a
separate change.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3696
TEST=*.ll tests (also tested end-to-end: plumbing for this will follow later)

Review URL: https://codereview.chromium.org/24777002
</content>
</entry>
<entry>
<title>Use ARM TTI in "opt" to make up for missing LE32 TTI.</title>
<updated>2013-09-16T20:33:23Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-09-16T20:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=de60bbfea3de2565a2f696810befece301507494'/>
<id>urn:sha1:de60bbfea3de2565a2f696810befece301507494</id>
<content type='text'>
Since we deleted the rewrite of ARM -&gt; LE32 in the
bitcode reader, opt is unable to look up a TTI to transform

switch(c) { case 1: x = &lt;const1&gt;; break; case 2: x = &lt;const2&gt;; break; ... }

into a lookup table to get x from c.

This causes a regression in pnacl-llc's size (which has
lots of switch statements).

Fake the target lookup in opt for now.  Eventually we should
look into making target info for le32.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=2554
TEST= trybot http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/887
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/842

R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/23551013
</content>
</entry>
<entry>
<title>Report fatal translator errors to the browser</title>
<updated>2013-09-13T21:29:09Z</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2013-09-13T21:29:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f8cb03fe2634ee927b3b6aa6ecbdd824cd0bc940'/>
<id>urn:sha1:f8cb03fe2634ee927b3b6aa6ecbdd824cd0bc940</id>
<content type='text'>
Install a fatal error handler for the translator, which stores the error
string, signals an error to the RPC thread, and terminates the thread
(instead of terminating the whole program). This will cause the error to
go to the Javascript console in Chrome

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

Review URL: https://codereview.chromium.org/23753003
</content>
</entry>
<entry>
<title>Localize the le32 -&gt; ARM hack to the LTO module for bitcode linking.</title>
<updated>2013-09-13T18:09:47Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-09-13T18:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=156e8330e6df89812148f8e1b22cd883391deedc'/>
<id>urn:sha1:156e8330e6df89812148f8e1b22cd883391deedc</id>
<content type='text'>
Only the bitcode linker via gold / lto module cares about
le32 being a target w/ a real backend.
LTOModule/LTOCodeGenerator is interested in having a real
target to know the name mangling and assembly notation
conventions (e.g., what's the prefix for private symbols).

This removes the hack from the bitcode reader so that
tools like llvm-dis are not affected and nonfinal pexes can
still say that they are "le32".

This is still not pretty, but it's better than polluting
the BitcodeReader, especially if certain tools check
what llvm-dis returns, and this doesn't require making a
dummy backend just for name mangling and asm conventions.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=2554
TEST= trybots

http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_32/builds/826
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/830
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/876

R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/23619038
</content>
</entry>
<entry>
<title>PNaCl bitcode: Remove handling of USELIST blocks</title>
<updated>2013-08-31T02:32:15Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-08-31T02:32:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=0dc171568f4981102c284b461b9acb5b4ef44749'/>
<id>urn:sha1:0dc171568f4981102c284b461b9acb5b4ef44749</id>
<content type='text'>
These blocks are never generated by the PNaCl bitcode writer.  The
code for generating them was removed when BitcodeWriter.cpp was copied
to produce NaClBitcodeWriter.cpp in
5712db994c8a4abb8c2512fb2900650f8335af66.  The same wasn't done when
BitcodeReader.cpp was copied to produce NaClBitcodeReader.cpp, so we
do this now.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3590
TEST=PNaCl toolchain trybots

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