<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/lib/Bitcode/NaCl/Writer, branch 1.12.1</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/lib/Bitcode/NaCl/Writer?h=1.12.1</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/lib/Bitcode/NaCl/Writer?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>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>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>
<entry>
<title>Generate PNaCl bitcode files using version 2.</title>
<updated>2013-09-16T15:34:40Z</updated>
<author>
<name>Karl Schimpf</name>
<email>kschimpf@google.com</email>
</author>
<published>2013-09-16T15:34:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1d241cef755d5a129d3f17117c559a70ecaa0e0c'/>
<id>urn:sha1:1d241cef755d5a129d3f17117c559a70ecaa0e0c</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/23974004
</content>
</entry>
<entry>
<title>PNaCl bitcode: Remove TYPE_CODE_POINTER entries from type table</title>
<updated>2013-09-09T17:32:47Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-09-09T17:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=b63e4bfe73188f7d68065f5b274e169491e593d2'/>
<id>urn:sha1:b63e4bfe73188f7d68065f5b274e169491e593d2</id>
<content type='text'>
There are now no uses of pointer type IDs in PNaCl bitcode, so we can
stop outputting pointer types into the type table.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3671
TEST=test/NaCl/Bitcode/*.ll

Review URL: https://codereview.chromium.org/23600013
</content>
</entry>
<entry>
<title>PNaCl bitcode: Change FORWARDTYPEREF to never use pointer types</title>
<updated>2013-09-09T17:06:19Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-09-09T17:06:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1c0cea6c1fc807794f0d785392e05b19d0c70210'/>
<id>urn:sha1:1c0cea6c1fc807794f0d785392e05b19d0c70210</id>
<content type='text'>
Before, FORWARDTYPEREFs used i8* type rather than i32 if they
referenced an "alloca" instruction.

Clean this up so that FORWARDTYPEREFs use i32 instead in this case.

Note that this means that a forward-referenced "alloca" can be used
via an ptrtoint+inttoptr, rather than a bitcast, but that's no
problem.

This is a step towards removing TYPE_CODE_POINTER from the types
table, to simplify the PNaCl bitcode format.

Rename NormalizeParamType() to NormalizeScalarType() to reflect that
it's used in more cases; make it public.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3671
TEST=test/NaCl/Bitcode/*.ll

Review URL: https://codereview.chromium.org/23719016
</content>
</entry>
<entry>
<title>PNaCl bitcode: Fix two compiler warnings about unused variables</title>
<updated>2013-09-06T22:45:33Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-09-06T22:45:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=9ca910d4038b63e416311f7c4122de25c15cc5b0'/>
<id>urn:sha1:9ca910d4038b63e416311f7c4122de25c15cc5b0</id>
<content type='text'>
BUG=none
TEST=compile

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