<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/CodeGen/X86/stack-align.ll, branch 1.13.2</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86/stack-align.ll?h=1.13.2</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86/stack-align.ll?h=1.13.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2012-08-03T23:29:17Z</updated>
<entry>
<title>Refactor and check "onlyReadsMemory" before optimizing builtins.</title>
<updated>2012-08-03T23:29:17Z</updated>
<author>
<name>Bob Wilson</name>
<email>bob.wilson@apple.com</email>
</author>
<published>2012-08-03T23:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=53624a2df557b4a24f2ee98cfce1a69bf83243af'/>
<id>urn:sha1:53624a2df557b4a24f2ee98cfce1a69bf83243af</id>
<content type='text'>
This patch is mostly just refactoring a bunch of copy-and-pasted code, but
it also adds a check that the call instructions are readnone or readonly.
That check was already present for sin, cos, sqrt, log2, and exp2 calls, but
it was missing for the rest of the builtins being handled in this code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161282 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic.</title>
<updated>2011-11-27T06:54:59Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-11-27T06:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d2bf432b2b6ba02e20958953a237213d48b00f20'/>
<id>urn:sha1:d2bf432b2b6ba02e20958953a237213d48b00f20</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145171 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Enhance ComputeMaskedBits to know that aligned frameindexes</title>
<updated>2011-02-13T22:25:43Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-02-13T22:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=0a9481f44fe4fc76e59109992940a76b2a3f9b3b'/>
<id>urn:sha1:0a9481f44fe4fc76e59109992940a76b2a3f9b3b</id>
<content type='text'>
have their low bits set to zero.  This allows us to optimize
out explicit stack alignment code like in stack-align.ll:test4 when
it is redundant.

Doing this causes the code generator to start turning FI+cst into
FI|cst all over the place, which is general goodness (that is the
canonical form) except that various pieces of the code generator
don't handle OR aggressively.  Fix this by introducing a new
SelectionDAG::isBaseWithConstantOffset predicate, and using it
in places that are looking for ADD(X,CST).  The ARM backend in
particular was missing a lot of addressing mode folding opportunities
around OR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125470 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach two-address lowering how to unfold a load to open up commuting</title>
<updated>2010-06-21T22:17:20Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-06-21T22:17:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=584fedf188e863604f7b946a931c0f40cf9c944e'/>
<id>urn:sha1:584fedf188e863604f7b946a931c0f40cf9c944e</id>
<content type='text'>
opportunities. For example, this lets it emit this:

   movq (%rax), %rcx
   addq %rdx, %rcx

instead of this:

   movq %rdx, %rcx
   addq (%rax), %rcx

in the case where %rdx has subsequent uses. It's the same number
of instructions, and usually the same encoding size on x86, but
it appears faster, and in general, it may allow better scheduling
for the load.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106493 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix tests to use fadd, fsub, and fmul, instead of add, sub, and mul,</title>
<updated>2010-05-03T22:36:46Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-05-03T22:36:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d4d01154ef0cb9d84d1c1c342ec9d3115d932e99'/>
<id>urn:sha1:d4d01154ef0cb9d84d1c1c342ec9d3115d932e99</id>
<content type='text'>
when the type is floating-point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102969 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add support for the 'alignstack' attribute to the x86 backend. Fixes PR5254.</title>
<updated>2010-02-19T18:17:13Z</updated>
<author>
<name>Charles Davis</name>
<email>cdavis@mines.edu</email>
</author>
<published>2010-02-19T18:17:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=5dfa26795da9c521babd598ef911e6d95bd20d37'/>
<id>urn:sha1:5dfa26795da9c521babd598ef911e6d95bd20d37</id>
<content type='text'>
Also, FileCheck'ize a test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96686 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Eliminate more uses of llvm-as and llvm-dis.</title>
<updated>2009-09-08T23:54:48Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-08T23:54:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=36a0947820fd4aa4b8a5fa26e3f079bdf572bc81'/>
<id>urn:sha1:36a0947820fd4aa4b8a5fa26e3f079bdf572bc81</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81290 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Split the Add, Sub, and Mul instruction opcodes into separate</title>
<updated>2009-06-04T22:49:04Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-06-04T22:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=ae3a0be92e33bc716722aa600983fc1535acb122'/>
<id>urn:sha1:ae3a0be92e33bc716722aa600983fc1535acb122</id>
<content type='text'>
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Infer alignment of loads and increase their alignment when we can tell they are </title>
<updated>2008-01-26T19:45:50Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2008-01-26T19:45:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1329cb8d8992c34365fcc2ac0447356708157dfb'/>
<id>urn:sha1:1329cb8d8992c34365fcc2ac0447356708157dfb</id>
<content type='text'>
from the stack.  This allows us to compile stack-align.ll to:

_test:
	movsd	LCPI1_0, %xmm0
	movapd	%xmm0, %xmm1
***	andpd	4(%esp), %xmm1
	andpd	_G, %xmm0
	addsd	%xmm1, %xmm0
	movl	20(%esp), %eax
	movsd	%xmm0, (%eax)
	ret

instead of:

_test:
	movsd	LCPI1_0, %xmm0
**	movsd	4(%esp), %xmm1
**	andpd	%xmm0, %xmm1
	andpd	_G, %xmm0
	addsd	%xmm1, %xmm0
	movl	20(%esp), %eax
	movsd	%xmm0, (%eax)
	ret



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