<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/lib/Target/ARM, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/lib/Target/ARM?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/lib/Target/ARM?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-10-30T12:16:42Z</updated>
<entry>
<title>Move global FlagSfi variables to common module</title>
<updated>2013-10-30T12:16:42Z</updated>
<author>
<name>Petar Jovanovic</name>
<email>petar.jovanovic@rt-rk.com</email>
</author>
<published>2013-10-30T12:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=64ad0b18dc627d913a301088e7e517f28ec05d3f'/>
<id>urn:sha1:64ad0b18dc627d913a301088e7e517f28ec05d3f</id>
<content type='text'>
When built as nexe, llc is configured and built for one arch only.
Variables FlagSfiData, FlagSfiLoad, FlagSfiStore, FlagSfiStack, and
FlagSfiBranch have to availabe for MIPS as well, so this change moves
them from ARM-only code to common code.

BUG= building pnacl-llc.nexe for MIPS fails
TEST= build sandboxed tools for MIPS
R=mseaborn@chromium.org

Review URL: https://codereview.chromium.org/46193002
</content>
</entry>
<entry>
<title>Emit MachineMoves for ARM floating point callee-saved  registers</title>
<updated>2013-09-06T21:25:01Z</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2013-09-06T21:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=45f9be95ab8e334e7e4b4328ee297d032e64b788'/>
<id>urn:sha1:45f9be95ab8e334e7e4b4328ee297d032e64b788</id>
<content type='text'>
Currently when a function uses floating-point callee-saved registers, it does not emit unwind info for adjusting the CFA and showing the locations of the saved registers on the stack. This results in the unwinder getting a bad value for the return address when it attempts to unwind past the function's frame, which breaks gdb backtracing and exception handling unwinding. Add to the existing MachineMoves describing the CFA and register locations to handle the float registers
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3670
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/23691041
</content>
</entry>
<entry>
<title>Revert some ARM byval localmods since byval+varargs are not in stable pexes.</title>
<updated>2013-08-30T23:42:36Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-08-30T23:42:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=121830a16cdb2685b1ac49bb88407644c044ef30'/>
<id>urn:sha1:121830a16cdb2685b1ac49bb88407644c044ef30</id>
<content type='text'>
Localmods came from: https://codereview.chromium.org/10825082/, and earlier.

(1) The original change was so that byval parameters always
go on the stack. That part was added because the original
ARM code was buggy, and did not actually make a copy of the
value, modifying the caller's struct (ouch!).

(2) Then came a localmod to make all arguments following a
byval go on the stack and to make the var-args code aware of
that.  This is so that arguments stay in the correct order
for var-args to pick up.

For (1) there has been some work upstream to make it work
better.  In any case, clang with --target=armv7a-...-gnueabi
only used byval in some limited cases -- when the size of
the  struct is &gt; 64 bytes where the backend will know
that part of it could be in regs, and the rest can be
memcpy'ed to the stack.

For le32, clang will still generate byval without
satisfying the same ARM condition (only for structs
bigger than 64 bytes), so it could be *very bad* if
we didn't have the ABI simpification passes rewrite
the byval and try to let the ARM backend do things
with byval...

TEST=the GCC torture tests: va-arg-4.c, and 20030914-2.c
and the example in issue 2746 still pass.

BUG=none, cleanup
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/23691009
</content>
</entry>
<entry>
<title>Remove FlagNaClUseM23ArmAbi since M23 was a long time ago.</title>
<updated>2013-08-19T21:37:53Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-08-19T21:37:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=9166d2f605b3f02b2f6c7e9477fefd3cdbf8be08'/>
<id>urn:sha1:9166d2f605b3f02b2f6c7e9477fefd3cdbf8be08</id>
<content type='text'>
It was used to support old r9/TLS model:
https://codereview.chromium.org/11345042/

BUG=none (cleanup)
R=jfb@chromium.org

Review URL: https://codereview.chromium.org/23135011
</content>
</entry>
<entry>
<title>Cherrypick upstream ARM FastISel ext patches</title>
<updated>2013-07-22T21:02:50Z</updated>
<author>
<name>JF Bastien</name>
<email>jfb@chromium.org</email>
</author>
<published>2013-07-22T21:02:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=87de224b6e7018ddb83e28e29617ce4f4b910927'/>
<id>urn:sha1:87de224b6e7018ddb83e28e29617ce4f4b910927</id>
<content type='text'>
Specifically:
  r186489 - Fix ARMFastISel::ARMEmitIntExt shift emission
  r183794 - ARM FastISel fix sext/zext fold
  r183601 - Fix unused variable warning from my previous patch
  r183551 - ARM FastISel integer sext/zext improvements

These should fix some failures that I had run into back then, as well as make ARM FastISel faster because it doesn't go to SelectionDAG.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3501
R=jvoung@chromium.org
TEST= make check-all

Review URL: https://codereview.chromium.org/19992002
</content>
</entry>
<entry>
<title>Clean up a debug printout left in by mistake during the 3.3 merge</title>
<updated>2013-07-19T18:38:54Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-19T18:38:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=41207d5da325e654ccf583c97e048afc3cba78a1'/>
<id>urn:sha1:41207d5da325e654ccf583c97e048afc3cba78a1</id>
<content type='text'>
BUG=None
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/19472003
</content>
</entry>
<entry>
<title>Fixed constpool pattern matching problem that made the crtbeginS build</title>
<updated>2013-07-17T22:45:34Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-17T22:45:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=90bab6f3cf1edadfa34f3a3c9d767638ec745c75'/>
<id>urn:sha1:90bab6f3cf1edadfa34f3a3c9d767638ec745c75</id>
<content type='text'>
on ARM fail
</content>
</entry>
<entry>
<title>Remove unnecessary debug printout</title>
<updated>2013-07-17T20:21:50Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-17T20:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ac9f0bd1a0de1a86435b8967e488105eae7bd21d'/>
<id>urn:sha1:ac9f0bd1a0de1a86435b8967e488105eae7bd21d</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>Make it compile</title>
<updated>2013-07-16T17:52:19Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-16T17:52:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=89671101b88b575278760d3dda29571e4fc5ced0'/>
<id>urn:sha1:89671101b88b575278760d3dda29571e4fc5ced0</id>
<content type='text'>
</content>
</entry>
</feed>
