<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/CodeGen/Thumb2, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/CodeGen/Thumb2?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/CodeGen/Thumb2?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-10-26T21:29:15Z</updated>
<entry>
<title>Add GPRPair Register class to ARM.</title>
<updated>2012-10-26T21:29:15Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-10-26T21:29:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cd275f5687799e63956beabe35fc1718dc022f70'/>
<id>urn:sha1:cd275f5687799e63956beabe35fc1718dc022f70</id>
<content type='text'>
Some instructions in ARM require 2 even-odd paired GPRs. This
patch adds support for such register class.

Patch by Weiming Zhao!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166816 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a miscompilation caused by a typo. When turning a adde with negative value</title>
<updated>2012-10-24T19:53:01Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2012-10-24T19:53:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d258eb3ec5cc5c9a28d3a8cd80241c9df24ce3a1'/>
<id>urn:sha1:d258eb3ec5cc5c9a28d3a8cd80241c9df24ce3a1</id>
<content type='text'>
into a sbc with a positive number, the immediate should be complemented, not
negated. Also added a missing pattern for ARM codegen.

rdar://12559385


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166613 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add LLVM support for Swift.</title>
<updated>2012-09-29T21:43:49Z</updated>
<author>
<name>Bob Wilson</name>
<email>bob.wilson@apple.com</email>
</author>
<published>2012-09-29T21:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=eb1641d54a7eda7717304bc4d55d059208d8ebed'/>
<id>urn:sha1:eb1641d54a7eda7717304bc4d55d059208d8ebed</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164899 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte</title>
<updated>2012-09-18T01:42:45Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2012-09-18T01:42:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d10eab0a95dcfff6390cc73b50ca07fd8b98b0bc'/>
<id>urn:sha1:d10eab0a95dcfff6390cc73b50ca07fd8b98b0bc</id>
<content type='text'>
aligned address. Based on patch by David Peixotto.

Also use vld1.64 / vst1.64 with 128-bit alignment to take advantage of alignment
hints. rdar://12090772, rdar://12238782


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164089 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use predication instead of pseudo-opcodes when folding into MOVCC.</title>
<updated>2012-09-05T23:58:02Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-09-05T23:58:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=098c6a547fe540b3bbace4c3d4713f400c67b8a9'/>
<id>urn:sha1:098c6a547fe540b3bbace4c3d4713f400c67b8a9</id>
<content type='text'>
Now that it is possible to dynamically tie MachineInstr operands,
predicated instructions are possible in SSA form:

  %vreg3&lt;def&gt; = SUBri %vreg1, -2147483647, pred:14, pred:%noreg, %opt:%noreg
  %vreg4&lt;def,tied1&gt; = MOVCCr %vreg3&lt;tied0&gt;, %vreg1, %pred:12, pred:%CPSR

Becomes a predicated SUBri with a tied imp-use:

  SUBri %vreg1, -2147483647, pred:13, pred:%CPSR, opt:%noreg, %vreg1&lt;imp-use,tied0&gt;

This means that any instruction that is safe to move can be folded into
a MOVCC, and the *CC pseudo-instructions are no longer needed.

The test case changes reflect that Thumb2SizeReduce recognizes the
predicated instructions. It didn't understand the pseudos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163274 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Patch to implement UMLAL/SMLAL instructions for the ARM architecture</title>
<updated>2012-09-04T14:37:49Z</updated>
<author>
<name>Arnold Schwaighofer</name>
<email>arnolds@codeaurora.org</email>
</author>
<published>2012-09-04T14:37:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=67514e90669ec9ffd954c1fcb6f8979bafcabe8a'/>
<id>urn:sha1:67514e90669ec9ffd954c1fcb6f8979bafcabe8a</id>
<content type='text'>
This patch corrects the definition of umlal/smlal instructions and adds support
for matching them to the ARM dag combiner.

Bug 12213

Patch by Yin Ma!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163136 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add ADD and SUB to the predicable ARM instructions.</title>
<updated>2012-08-16T23:21:55Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-08-16T23:21:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=083b48af14c8bfa0e96f63ebc889704d09655fd4'/>
<id>urn:sha1:083b48af14c8bfa0e96f63ebc889704d09655fd4</id>
<content type='text'>
It is not my plan to duplicate the entire ARM instruction set with
predicated versions. We need a way of representing predicated
instructions in SSA form without requiring a separate opcode.

Then the pseudo-instructions can go away.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162061 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fold predicable instructions into MOVCC / t2MOVCC.</title>
<updated>2012-08-15T22:16:39Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-08-15T22:16:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2860b7ea3a1d60213ee7228bd274bc4f8b170772'/>
<id>urn:sha1:2860b7ea3a1d60213ee7228bd274bc4f8b170772</id>
<content type='text'>
The ARM select instructions are just predicated moves. If the select is
the only use of an operand, the instruction defining the operand can be
predicated instead, saving one instruction and decreasing register
pressure.

This implementation can turn AND/ORR/EOR instructions into their
corresponding ANDCC/ORRCC/EORCC variants. Ideally, we should be able to
predicate any instruction, but we don't yet support predicated
instructions in SSA form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161994 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[arm-fast-isel] Add support for vararg function calls.</title>
<updated>2012-07-19T09:49:00Z</updated>
<author>
<name>Jush Lu</name>
<email>jush.msn@gmail.com</email>
</author>
<published>2012-07-19T09:49:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ee649839a243bb29b59b322203b982b2f132e7c5'/>
<id>urn:sha1:ee649839a243bb29b59b322203b982b2f132e7c5</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160500 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix the remaining TCL-style quotes found in the testsuite. This is</title>
<updated>2012-07-02T19:09:46Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T19:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1de43ede8904e08de37f601c9bab0b70f71156e1'/>
<id>urn:sha1:1de43ede8904e08de37f601c9bab0b70f71156e1</id>
<content type='text'>
another mechanical change accomplished though the power of terrible Perl
scripts.

I have manually switched some "s to 's to make escaping simpler.

While I started this to fix tests that aren't run in all configurations,
the massive number of tests is due to a really frustrating fragility of
our testing infrastructure: things like 'grep -v', 'not grep', and
'expected failures' can mask broken tests all too easily.

Essentially, I'm deeply disturbed that I can change the testsuite so
radically without causing any change in results for most platforms. =/

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