<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/test/CodeGen/X86/pic.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/pic.ll?h=1.13.2</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/test/CodeGen/X86/pic.ll?h=1.13.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2012-02-01T23:20:51Z</updated>
<entry>
<title>Instruction scheduling itinerary for Intel Atom.</title>
<updated>2012-02-01T23:20:51Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2012-02-01T23:20:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=922d314e8f9f0d8e447c055485a2969ee9cf2dd2'/>
<id>urn:sha1:922d314e8f9f0d8e447c055485a2969ee9cf2dd2</id>
<content type='text'>
Adds an instruction itinerary to all x86 instructions, giving each a default latency of 1, using the InstrItinClass IIC_DEFAULT.

Sets specific latencies for Atom for the instructions in files X86InstrCMovSetCC.td, X86InstrArithmetic.td, X86InstrControl.td, and X86InstrShiftRotate.td. The Atom latencies for the remainder of the x86 instructions will be set in subsequent patches.

Adds a test to verify that the scheduler is working.

Also changes the scheduling preference to "Hybrid" for i386 Atom, while leaving x86_64 as ILP.

Patch by Preston Gurd!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149558 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Be careful about scheduling nodes above previous calls. It increase usages of</title>
<updated>2011-04-26T21:31:35Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2011-04-26T21:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=554daa67bd1c4f01fb7a00f2f4255a52b81e9fa3'/>
<id>urn:sha1:554daa67bd1c4f01fb7a00f2f4255a52b81e9fa3</id>
<content type='text'>
more callee-saved registers and introduce copies. Only allows it if scheduling
a node above calls would end up lessen register pressure.

Call operands also has added ABI restrictions for register allocation, so be
extra careful with hoisting them above calls.

rdar://9329627


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130245 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix an inconsistency in the x86 backend that led it to reject "calll foo" on</title>
<updated>2010-09-22T05:49:14Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2010-09-22T05:49:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=1eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2'/>
<id>urn:sha1:1eb1b68e3a5241591bfa18d4beb0e0cf13a48ef2</id>
<content type='text'>
x86-32: 32-bit calls were named "call" not "calll".  64-bit calls were correctly
named "callq", so this only impacted x86-32.

This fixes rdar://8456370 - llvm-mc rejects 'calll'

This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call,
I will file a bugzilla.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114534 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Be more forgiving when calculating alias interference for physreg coalescing.</title>
<updated>2010-07-06T20:31:51Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2010-07-06T20:31:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=9c2e7ca3513bf41ad4dd9ff807e0d2742f592722'/>
<id>urn:sha1:9c2e7ca3513bf41ad4dd9ff807e0d2742f592722</id>
<content type='text'>
It is OK for an alias live range to overlap if there is a copy to or from the
physical register. CoalescerPair can work out if the copy is coalescable
independently of the alias.

This means that we can join with the actual destination interval instead of
using the getOrigDstReg() hack. It is no longer necessary to merge clobber
ranges into subregisters.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107695 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>Start function numbering at 0.</title>
<updated>2010-04-17T16:29:15Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-04-17T16:29:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=9f23dee08c7052af2c4baae3e2b06518896742eb'/>
<id>urn:sha1:9f23dee08c7052af2c4baae3e2b06518896742eb</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101638 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow trivial sibcall of vararg callee when no arguments are being passed.</title>
<updated>2010-03-26T02:13:13Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-03-26T02:13:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=3c262eec5354766bab7b37efc8d203a7afe91458'/>
<id>urn:sha1:3c262eec5354766bab7b37efc8d203a7afe91458</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99598 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>simplify code to use OutContext.GetOrCreateTemporarySymbol with</title>
<updated>2010-03-12T18:47:50Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2010-03-12T18:47:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=b0f129a5d9e07870b3cd69b3a61fb69554ae774d'/>
<id>urn:sha1:b0f129a5d9e07870b3cd69b3a61fb69554ae774d</id>
<content type='text'>
no arguments instead of having to come up with a unique name.
This also makes the code less fragile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98364 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Perform trivial tail call optimization for callees with "C" ABI. These are done</title>
<updated>2010-01-27T06:25:16Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2010-01-27T06:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=b17124553d569c6f09347f2cbe072eab445d30c4'/>
<id>urn:sha1:b17124553d569c6f09347f2cbe072eab445d30c4</id>
<content type='text'>
even when -tailcallopt is not specified and it does not require changing ABI.
First case is the most trivial one. Perform tail call optimization when both
the caller and callee do not return values and when the callee does not take
any input arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94664 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Turn on post-alloc scheduling for x86.</title>
<updated>2009-10-18T19:57:27Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2009-10-18T19:57:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d36076e4a3a57f55c044cd1cf21a39abe1edf2de'/>
<id>urn:sha1:d36076e4a3a57f55c044cd1cf21a39abe1edf2de</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84431 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
