<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/CodeGen/X86, branch 1.13.0</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86?h=1.13.0</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86?h=1.13.0'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-10-11T22:27:57Z</updated>
<entry>
<title>Cherry-pick LLVM 187787 to prevent tail calls on x86-32 when not appropriate.</title>
<updated>2013-10-11T22:27:57Z</updated>
<author>
<name>Jan Voung</name>
<email>jvoung@chromium.org</email>
</author>
<published>2013-10-11T22:27:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=c036ceaa8225a23a795b50144b1da4b883e984a3'/>
<id>urn:sha1:c036ceaa8225a23a795b50144b1da4b883e984a3</id>
<content type='text'>
See:
http://llvm.org/viewvc/llvm-project?view=revision&amp;revision=187787

The newer version of newlib tickles this x86-32 bug
when building the exception handling tests, which don't
strip the "tail" attribute.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3702

Waiting on trybots, but it seems to have fixed the minimal
reproducer I have:
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_64/builds/922
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-linux-pnacl-x86_32/builds/870
http://chromegw.corp.google.com/i/tryserver.nacl/builders/nacl-toolchain-mac-pnacl-x86_32/builds/875

R=jfb@chromium.org

Review URL: https://codereview.chromium.org/26538008
</content>
</entry>
<entry>
<title>Work around a gcc 4.6.3 / 4.7 bug.</title>
<updated>2013-09-16T19:26:09Z</updated>
<author>
<name>Jim Stichnoth</name>
<email>stichnot@chromium.org</email>
</author>
<published>2013-09-16T19:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=591359fae065fb5f86ba957a550503daef727536'/>
<id>urn:sha1:591359fae065fb5f86ba957a550503daef727536</id>
<content type='text'>
GCC bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58416
causes the bf64-1.c test to fail in the GCC torture test suite.
This provides an upstreamable workaround.

Inspection of the LLVM code base showed no other instances of
the pattern that triggers the gcc bug.

This can also be upstreamed as soon as I can get a working
x86-32 upstream build working to verify/test against.  In the
meantime, we can make one pnacl-fyi bot go green again.

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

Review URL: https://codereview.chromium.org/23437037
</content>
</entry>
<entry>
<title>Clean some PNaCl-specific tests.</title>
<updated>2013-07-25T16:24:02Z</updated>
<author>
<name>Jim Stichnoth</name>
<email>stichnot@chromium.org</email>
</author>
<published>2013-07-25T16:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=6877ef9b4c4cfc6585bf1a77327e5637371c8658'/>
<id>urn:sha1:6877ef9b4c4cfc6585bf1a77327e5637371c8658</id>
<content type='text'>
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3588
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/19606003
</content>
</entry>
<entry>
<title>Hide the x86-64 sandbox base address.</title>
<updated>2013-07-24T16:40:15Z</updated>
<author>
<name>Jim Stichnoth</name>
<email>stichnot@chromium.org</email>
</author>
<published>2013-07-24T16:40:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=4499aac2b3679e7e0f69649b99f9b96c2c03dc4f'/>
<id>urn:sha1:4499aac2b3679e7e0f69649b99f9b96c2c03dc4f</id>
<content type='text'>
Prevent sandbox addresses from being written to the stack.  This
covers the following cases:

1. Function calls manually push a masked return address and jump to
the target, rather than using the call instruction.

2. When the function prolog chooses to use a frame pointer (rbp), it
saves a masked version of the old rbp.

3. Indirect branches (jumps, calls, and returns) uniformly use r11 to
construct the 64-bit target address.

4. Register r11 is marked as reserved (similar to r15) so that the
register allocator won't inadvertently spill a code address to the
stack.

These transformations can be disabled for performance testing with the
flag "-sfi-hide-sandbox-base=false".

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

Review URL: https://codereview.chromium.org/19505003
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master'</title>
<updated>2013-07-19T01:00:27Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-19T01:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=4412ea4b8e019d00dc7574fe1723eea0473a8ec1'/>
<id>urn:sha1:4412ea4b8e019d00dc7574fe1723eea0473a8ec1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disallow a global address in the x86-64 displacement field.</title>
<updated>2013-07-17T19:13:48Z</updated>
<author>
<name>Jim Stichnoth</name>
<email>stichnot@chromium.org</email>
</author>
<published>2013-07-17T19:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=cc8deaf49f79eb22c4edc8c0f44ef64668b3be4a'/>
<id>urn:sha1:cc8deaf49f79eb22c4edc8c0f44ef64668b3be4a</id>
<content type='text'>
This applies only to %r15 sandboxed memory references.  The problem
is that if the index register is negative, the sandboxing operation
will cause the index to become a large positive 32-bit value, which
combined with the displacement, will overflow and try to reference
memory outside the sandbox.  This situation may legitimately occur
if the compiler happens to construct a (constant) interior pointer
to the middle of the global struct/array, and then dereferences it
with a variable offset.

After this fix, pnacl/scripts/testsuite_known_failures_pnacl.txt can
be updated to remove the "aha x86-64" known failure.

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

Review URL: https://codereview.chromium.org/17987002
</content>
</entry>
<entry>
<title>Merge commit '7dfcb84fc16b3bf6b2379713b53090757f0a45f9'</title>
<updated>2013-07-15T23:09:15Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eliben@chromium.org</email>
</author>
<published>2013-07-15T23:09:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=c6cf05cb5108f356dde97c01ee4188b0671d4542'/>
<id>urn:sha1:c6cf05cb5108f356dde97c01ee4188b0671d4542</id>
<content type='text'>
Conflicts:
	docs/LangRef.rst
	include/llvm/CodeGen/CallingConvLower.h
	include/llvm/IRReader/IRReader.h
	include/llvm/Target/TargetMachine.h
	lib/CodeGen/CallingConvLower.cpp
	lib/IRReader/IRReader.cpp
	lib/IRReader/LLVMBuild.txt
	lib/IRReader/Makefile
	lib/LLVMBuild.txt
	lib/Makefile
	lib/Support/MemoryBuffer.cpp
	lib/Support/Unix/PathV2.inc
	lib/Target/ARM/ARMBaseInstrInfo.cpp
	lib/Target/ARM/ARMISelLowering.cpp
	lib/Target/ARM/ARMInstrInfo.td
	lib/Target/ARM/ARMSubtarget.cpp
	lib/Target/ARM/ARMTargetMachine.cpp
	lib/Target/Mips/CMakeLists.txt
	lib/Target/Mips/MipsDelaySlotFiller.cpp
	lib/Target/Mips/MipsISelLowering.cpp
	lib/Target/Mips/MipsInstrInfo.td
	lib/Target/Mips/MipsSubtarget.cpp
	lib/Target/Mips/MipsSubtarget.h
	lib/Target/X86/X86FastISel.cpp
	lib/Target/X86/X86ISelDAGToDAG.cpp
	lib/Target/X86/X86ISelLowering.cpp
	lib/Target/X86/X86InstrControl.td
	lib/Target/X86/X86InstrFormats.td
	lib/Transforms/IPO/ExtractGV.cpp
	lib/Transforms/InstCombine/InstCombineCompares.cpp
	lib/Transforms/Utils/SimplifyLibCalls.cpp
	test/CodeGen/X86/fast-isel-divrem.ll
	test/MC/ARM/data-in-code.ll
	tools/Makefile
	tools/llvm-extract/llvm-extract.cpp
	tools/llvm-link/CMakeLists.txt
	tools/opt/CMakeLists.txt
	tools/opt/LLVMBuild.txt
	tools/opt/Makefile
	tools/opt/opt.cpp
</content>
</entry>
<entry>
<title>Merge r179774: Allow misaligned stores in x86 fast-isel.</title>
<updated>2013-06-24T16:18:55Z</updated>
<author>
<name>Mark Seaborn</name>
<email>mseaborn@chromium.org</email>
</author>
<published>2013-06-24T16:18:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=41dd5ede22556305aed7ea2184a2905f187db78c'/>
<id>urn:sha1:41dd5ede22556305aed7ea2184a2905f187db78c</id>
<content type='text'>
This change will fix the regression in -O0 translation time caused by
putting "align 1" on integer loads and stores, which was causing
FastISel to fall back to SelectionDAG more often.

&gt; In X86FastISel::X86SelectStore(), improperly aligned stores are
&gt; rejected and handled by the DAG-based ISel. However,
&gt; X86FastISel::X86SelectLoad() makes no such requirement. There
&gt; doesn't appear to be an x86 architectural correctness issue with
&gt; allowing potentially unaligned store instructions.  This patch
&gt; removes this restriction.
&gt;
&gt; Patch by Jim Stichnot.

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

Review URL: https://codereview.chromium.org/17575003
</content>
</entry>
<entry>
<title>Fix PrologEpilogInserter to save and restore all callee saved registers</title>
<updated>2013-06-13T23:04:07Z</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2013-06-13T23:04:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=c31b941a4fc4c995cbc40d5f4be6705d61eda011'/>
<id>urn:sha1:c31b941a4fc4c995cbc40d5f4be6705d61eda011</id>
<content type='text'>
if the function calls _builtin_unwind_init()

Also fix the list of callee-saved registers returned by
X86RegisterInfo::getCalleeSavedRegisters

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

Review URL: https://codereview.chromium.org/16987002
</content>
</entry>
<entry>
<title>Merging r182486:</title>
<updated>2013-05-22T17:23:54Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-05-22T17:23:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=62131ab28074e0ef5545775c248c2905d09e498c'/>
<id>urn:sha1:62131ab28074e0ef5545775c248c2905d09e498c</id>
<content type='text'>
------------------------------------------------------------------------
r182486 | d0k | 2013-05-22 10:01:12 -0700 (Wed, 22 May 2013) | 3 lines

X86: When expanding PCMPGTQ to PCMPGTD we always want to compare the lower halves as unsigned.

Take #2 on fixing PR15977.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@182489 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
