<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/lib/Bitcode, branch 1.12.1</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/lib/Bitcode?h=1.12.1</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/lib/Bitcode?h=1.12.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-11-21T18:34:00Z</updated>
<entry>
<title>Clean up handling of PNaCl bitcode headers.</title>
<updated>2013-11-21T18:34:00Z</updated>
<author>
<name>Karl Schimpf</name>
<email>kschimpf@google.com</email>
</author>
<published>2013-11-21T18:34:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=7026af7138fccfb256456b04b375d39b025bdb7c'/>
<id>urn:sha1:7026af7138fccfb256456b04b375d39b025bdb7c</id>
<content type='text'>
Write out all of PNaCl bitcode headers using a single interface
function.

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

Review URL: https://codereview.chromium.org/61753017
</content>
</entry>
<entry>
<title>Fixes the modeling of type ids within PNaCl bitcode files.</title>
<updated>2013-11-21T17:55:24Z</updated>
<author>
<name>Karl Schimpf</name>
<email>kschimpf@google.com</email>
</author>
<published>2013-11-21T17:55:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=86ff10150d76fa0db431a7c1c6db280f75977f35'/>
<id>urn:sha1:86ff10150d76fa0db431a7c1c6db280f75977f35</id>
<content type='text'>
The code previously was very inconsisted in modeling the number of
bits needed for type ids within abbreviations. Frequently, the
number of bits used was based on the total number of types. This
is a bad choice in that this includes all function types, even though
most cases do not use these types. This patch makes the selection
more consistent.

Also removing TYPE_CODE_ARRAY, since it is not allowed.

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

Review URL: https://codereview.chromium.org/68503018
</content>
</entry>
<entry>
<title>Remove UseRelativeID branching from NaClBitcodeReader, assume true.</title>
<updated>2013-11-20T21:21:04Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-11-20T21:21:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=32885ab95b44df7f2a3ace9ac7d227df9d648d46'/>
<id>urn:sha1:32885ab95b44df7f2a3ace9ac7d227df9d648d46</id>
<content type='text'>
This was kept in upstream LLVM for backwards compatibiilty
with version 0 bitcode, but PNaCl only accepts version 1
bitcode, so UseRelativeID is always true.

This reduces the number of branches taken while llvm-dis'ing
the Ogre SampleBrowser from 2,680,184,988 branches to
2,670,798,955 branches. A 2.5% difference in wall-clock
time...

BUG=none
trybots:
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_32/builds/939
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/991
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/933

R=mseaborn@chromium.org

Review URL: https://codereview.chromium.org/77023007
</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>PNaCl bitcode: Simplify how the writer elides casts</title>
<updated>2013-10-03T16:43:21Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-03T16:43:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ed6b15283ff5f9d13cb48f88ba6e189be11291e8'/>
<id>urn:sha1:ed6b15283ff5f9d13cb48f88ba6e189be11291e8</id>
<content type='text'>
The PNaCl bitcode writer had some complex logic for deciding when to
omit casts in the output.  This was left over from when the writer was
trying to leave in the casts in some but not all cases (as part of
incrementally removing casts).

This is no longer needed now that the writer just omits all inttoptrs,
all ptrtoints, and all pointer bitcasts.

This cleanup also fixes the writer so that it elides an inttoptr of a
ptrtoint.  This sequence is allowed by the PNaCl ABI verifier, but
never occurred in practice because ReplacePtrsWithInts'
SimplifyCasts() function converts this sequence to an equivalent
bitcast.  Before this change, the writer would give this error for an
inttoptr-of-ptrtoint:

  LLVM ERROR: Illegal (PNaCl ABI) pointer cast :   %1 = ptrtoint [4 x i8]* @bytes to i32

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

Review URL: https://codereview.chromium.org/25817002
</content>
</entry>
<entry>
<title>PNaCl bitcode: Reject CAST_PTRTOINT and CAST_INTTOPTR</title>
<updated>2013-10-03T15:08:25Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-03T15:08:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=8ed96f4d0ca9b8114875997f1f0196fc89a41a04'/>
<id>urn:sha1:8ed96f4d0ca9b8114875997f1f0196fc89a41a04</id>
<content type='text'>
Make the reader and writer stricter so that we can be sure we're not
accidentally generating ptrtoint or inttoptr instructions in pexe
files.

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

Review URL: https://codereview.chromium.org/25607006
</content>
</entry>
<entry>
<title>PNaCl bitcode reader: Remove Xcode/ranlib-related hack</title>
<updated>2013-10-03T15:06:41Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-03T15:06:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=97e49363c618e0984b16bfaca3c5f60a97e442b8'/>
<id>urn:sha1:97e49363c618e0984b16bfaca3c5f60a97e442b8</id>
<content type='text'>
This is a very Mac OS X-specific hack which isn't relevant to PNaCl.
PNaCl doesn't use Xcode's ranlib for processing bitcode libraries.

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

Review URL: https://codereview.chromium.org/25635004
</content>
</entry>
<entry>
<title>PNaCl bitcode: Remove unused function ConvertTypeToScalarType()</title>
<updated>2013-10-03T15:05:38Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-03T15:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=3b0e78e84065b446ec8a77f02bdbd5ac213af000'/>
<id>urn:sha1:3b0e78e84065b446ec8a77f02bdbd5ac213af000</id>
<content type='text'>
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3590
TEST=build

Review URL: https://codereview.chromium.org/25802002
</content>
</entry>
<entry>
<title>Fix Ninja build of pnacl-freeze so that tests pass</title>
<updated>2013-10-02T21:30:59Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-10-02T21:30:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a85ac8f6999c04c5306efb5aa4fe77fc013c90e2'/>
<id>urn:sha1:a85ac8f6999c04c5306efb5aa4fe77fc013c90e2</id>
<content type='text'>
Declare NaClBitWriter's dependency on NaClBitReader.

Without this change, pnacl-freeze fails at run time with:

  pnacl-freeze: symbol lookup error: .../native_client/pnacl/build/llvm_x86_64_ninja/lib/libLLVMNaClBitWriter.so: undefined symbol: _ZN4llvm17NaClBitcodeHeaderC1Ev

BUG=none
TEST=llvm-lit tests

Review URL: https://codereview.chromium.org/24524003
</content>
</entry>
<entry>
<title>Remove code referring to PNaCl version 1, since it is no longer used.</title>
<updated>2013-09-18T21:24:56Z</updated>
<author>
<name>Karl Schimpf</name>
<email>kschimpf@google.com</email>
</author>
<published>2013-09-18T21:24:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=197cadba6026114ce62ed57dafe2125e70500a6b'/>
<id>urn:sha1:197cadba6026114ce62ed57dafe2125e70500a6b</id>
<content type='text'>
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3590
R=mseaborn@chromium.org

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