<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/NaCl/ARM, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/NaCl/ARM?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/NaCl/ARM?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-07-19T18:15:09Z</updated>
<entry>
<title>Simplify the test by removing unnecessary function body.</title>
<updated>2013-07-19T18:15:09Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-19T18:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=08a21530686951340a62f7fcd583ffef05c34f09'/>
<id>urn:sha1:08a21530686951340a62f7fcd583ffef05c34f09</id>
<content type='text'>
Suggested in review: https://codereview.chromium.org/19705002/

BUG=None
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/19774012
</content>
</entry>
<entry>
<title>Port new tests from origin/master</title>
<updated>2013-07-18T14:57:42Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-18T14:57:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=0592f0ef8bbc825243cb1860b09468a7605f8716'/>
<id>urn:sha1:0592f0ef8bbc825243cb1860b09468a7605f8716</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixing make check errors...</title>
<updated>2013-07-16T21:34:27Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-16T21:34:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=af56c404f86351c203c5c14181c42553dc2215e3'/>
<id>urn:sha1:af56c404f86351c203c5c14181c42553dc2215e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PNaCl: Fix negative relocation addends on x86-32</title>
<updated>2013-07-09T18:02:56Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-07-09T18:02:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=af49991972c1ca2364cd7377f4781893ffb3ffc5'/>
<id>urn:sha1:af49991972c1ca2364cd7377f4781893ffb3ffc5</id>
<content type='text'>
Disable an assertion.  This assertion made the behaviour on x86-32
inconsistent with x86-64 and ARM.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3548
TEST=*.ll tests + PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/18261008
</content>
</entry>
<entry>
<title>Change NaCl-specific tests from llc to pnacl-llc</title>
<updated>2013-06-10T22:11:58Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-06-10T22:11:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a5aa334e97ec5f1be2855ad864d1755f0dcd663c'/>
<id>urn:sha1:a5aa334e97ec5f1be2855ad864d1755f0dcd663c</id>
<content type='text'>
BUG=None
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/16273014
</content>
</entry>
<entry>
<title>Apply LLVM upstream: r182877 - Enable FastISel on ARM for Linux and NaCl</title>
<updated>2013-05-31T21:46:24Z</updated>
<author>
<name>JF Bastien</name>
<email>jfb@chromium.org</email>
</author>
<published>2013-05-31T21:46:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=125bbb6864c51277041e5c2faa34ec543d84544d'/>
<id>urn:sha1:125bbb6864c51277041e5c2faa34ec543d84544d</id>
<content type='text'>
This also pulls in a TargetMachine.h change from r176986 and changes
NaCl's intrinsics-bitmanip.ll test to account for register spills at O0.

FastISel was only enabled for iOS ARM and Thumb2, this patch enables it
for ARM (not Thumb2) on Linux and NaCl.

Thumb2 support needs a bit more work, mainly around register class
restrictions.

The patch punts to SelectionDAG when doing TLS relocation on non-Darwin
targets. I will fix this and other FastISel-to-SelectionDAG failures in
a separate patch.

The patch also forces FastISel to retain frame pointers: iOS always
keeps them for backtracking (so emitted code won't change because of
this), but Linux was getting much worse code that was incorrect when
using big frames (such as test-suite's lencod). I'll also fix this in a
later patch, it will probably require a peephole so that FastISel
doesn't rematerialize frame pointers back-to-back.

The test changes are straightforward, similar to:
  http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130513/174279.html
They also add a vararg test that got dropped in that change.

I ran all of test-suite on A15 hardware with --optimize-option=-O0 and
all the tests pass.

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

Review URL: https://codereview.chromium.org/15671004
</content>
</entry>
<entry>
<title>Add two passes that implement conversions from PNaCl's specific intrinsics</title>
<updated>2013-05-28T18:23:28Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-05-28T18:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ffc13bcb40d4257202295fc0ffe25b38bdf64263'/>
<id>urn:sha1:ffc13bcb40d4257202295fc0ffe25b38bdf64263</id>
<content type='text'>
to external function calls during the translation stage (llc).

One of the passes is a ModulePass that adds the appropriate function
declarations to the module. The other is a FunctionPass that performs the
actual call replacement. This split exists because of bitcode streaming.

Initially the passes handle the llvm.nacl.{set|long}jmp intrinsics. In the
future they may handle additional intrinsics that are part of the PNaCl
stable bitcode ABI.

This CL also removes the previous approach to handling this conversion
(in SelectionDAGBuilder.cpp). That ended up not working - more details in
issue 3429.

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

Review URL: https://codereview.chromium.org/16047002
</content>
</entry>
<entry>
<title>Support @llvm.nacl.{set|long}jmp intrinsics by translating them to library calls</title>
<updated>2013-05-09T22:16:09Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-05-09T22:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=42ac59f56fb0d473f84b6be738a64e80b09557d1'/>
<id>urn:sha1:42ac59f56fb0d473f84b6be738a64e80b09557d1</id>
<content type='text'>
This is similar to the way @llvm.{set|long}jmp are handled.

The previously defined nacl-specific intrinsics are no longer used
and are overridden.

For the library call, call setjmp/longjmp without a preceding
underscore as these symbols exist in our runtime support code
(pnacl/support/setjmp_XXX.S)

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

Review URL: https://codereview.chromium.org/14715018
</content>
</entry>
<entry>
<title>Add a llvm lit test for NaCl ARM/X86 support for bswap i16, i32, i64.</title>
<updated>2013-05-09T17:52:35Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-05-09T17:52:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=4fbe1a0735e16d6fc46210006c99641f1cbad3ed'/>
<id>urn:sha1:4fbe1a0735e16d6fc46210006c99641f1cbad3ed</id>
<content type='text'>
Slowly trying to promote "dev" intrinsics that are being
tested to be accepted.  Luckily, bswap is supported
without compiler_rt for ARM and x86 at least.

Test at default level and -O0. Also tested by
gcc/testsuite/gcc.dg/builtin-bswap-[1,2,3,4,5].c,
and a couple of other gcc tests.

We may want to blacklist odd argument sizes
like i8, and i1, which the x86 backend won't handle.
The i16 case is also interesting, however, it's easy
to do if you have an i32 bswap.

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

Review URL: https://codereview.chromium.org/14971004
</content>
</entry>
<entry>
<title>Insert denominator zero checks for NaCl</title>
<updated>2013-05-08T16:28:31Z</updated>
<author>
<name>David Sehr</name>
<email>sehr@chromium.org</email>
</author>
<published>2013-05-08T16:28:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=8c9803a8981992ffd6bb1a901c9c3a52f2aedfce'/>
<id>urn:sha1:8c9803a8981992ffd6bb1a901c9c3a52f2aedfce</id>
<content type='text'>
This IR pass for ARM inserts a comparison and a branch to trap if the
denominator of a DIV or REM instruction is zero.  This makes ARM fault
identically to x86 in this case.

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

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