<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/utils, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/utils?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/utils?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-03-29T19:08:31Z</updated>
<entry>
<title>Fix TableGen subtarget-emitter to handle A9/Swift.</title>
<updated>2013-03-29T19:08:31Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-03-29T19:08:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=bc4de7cec1b87fd84e6dad2c512c927d67967a22'/>
<id>urn:sha1:bc4de7cec1b87fd84e6dad2c512c927d67967a22</id>
<content type='text'>
A9 uses itinerary classes, Swift uses RW lists. This tripped some
verification when we're expanding variants. I had to refine the
verification a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178357 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r178166. According to Howard, this code is actually ok.</title>
<updated>2013-03-29T00:13:08Z</updated>
<author>
<name>Dan Gohman</name>
<email>dan433584@gmail.com</email>
</author>
<published>2013-03-29T00:13:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1cbd4017566ea2fcb1a7cd605f412322da879e34'/>
<id>urn:sha1:1cbd4017566ea2fcb1a7cd605f412322da879e34</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178319 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Avoid undefined behavior from passing a std::vector's own contents</title>
<updated>2013-03-27T18:44:56Z</updated>
<author>
<name>Dan Gohman</name>
<email>dan433584@gmail.com</email>
</author>
<published>2013-03-27T18:44:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=dcdc0faf59103c335bda246e3cddbc4cbd6ba83d'/>
<id>urn:sha1:dcdc0faf59103c335bda246e3cddbc4cbd6ba83d</id>
<content type='text'>
in as an argument to push_back.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178166 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>TableGen SubtargetEmitter fix to allow A9 and Swift to coexist.</title>
<updated>2013-03-26T21:36:39Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-03-26T21:36:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=82e7c4f533a98a16b0cadd5209c1d3dc8ce33d87'/>
<id>urn:sha1:82e7c4f533a98a16b0cadd5209c1d3dc8ce33d87</id>
<content type='text'>
Allow variants to be defined only for some processors on a target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178074 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>x86 -- add the XTEST instruction</title>
<updated>2013-03-25T18:59:43Z</updated>
<author>
<name>Dave Zarzycki</name>
<email>zarzycki@apple.com</email>
</author>
<published>2013-03-25T18:59:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9b3939983fd0103b102c7aec0ed08d1e8bd28214'/>
<id>urn:sha1:9b3939983fd0103b102c7aec0ed08d1e8bd28214</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177888 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow types to be omitted in output patterns.</title>
<updated>2013-03-24T19:37:00Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2013-03-24T19:37:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8e3cb3ee0c6dd582f4ee78135cef2f33f6893395'/>
<id>urn:sha1:8e3cb3ee0c6dd582f4ee78135cef2f33f6893395</id>
<content type='text'>
This syntax is now preferred:

  def : Pat&lt;(subc i32:$b, i32:$c), (SUBCCrr $b, $c)&gt;;

There is no reason to repeat the types in the output pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177844 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow direct value types to be used in instruction 'set' patterns.</title>
<updated>2013-03-24T00:56:16Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2013-03-24T00:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=19209960b68b194d944a28f4b0f5bb8fd6563145'/>
<id>urn:sha1:19209960b68b194d944a28f4b0f5bb8fd6563145</id>
<content type='text'>
This makes it possible to define instruction patterns like this:

def LDri : F3_2&lt;3, 0b000000,
                (outs IntRegs:$dst), (ins MEMri:$addr),
                "ld [$addr], $dst",
                [(set i32:$dst, (load ADDRri:$addr))]&gt;;
                      ~~~

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177834 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Allow direct value types in pattern definitions.</title>
<updated>2013-03-23T20:35:01Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2013-03-23T20:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f0a804df493e28e75cfc4ca930c53199b8d1e985'/>
<id>urn:sha1:f0a804df493e28e75cfc4ca930c53199b8d1e985</id>
<content type='text'>
Just like register classes, value types can be used in two ways in
patterns:

  (sext_inreg i32:$src, i16)

In a named leaf node like i32:$src, the value type simply provides the
type of the node directly. This simplifies type inference a lot compared
to the current practice of specifiying types indirectly with register
classes.

As an unnamed leaf node, like i16 above, the value type represents
itself as an MVT::Other immediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177828 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make all unnamed RegisterClass TreePatternNodes typed MVT::i32.</title>
<updated>2013-03-23T18:08:44Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2013-03-23T18:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7a42fb3b6e729e2446f9d53b547976e5084a59d8'/>
<id>urn:sha1:7a42fb3b6e729e2446f9d53b547976e5084a59d8</id>
<content type='text'>
A register class can appear as a leaf TreePatternNode with and without a
name:

  (COPY_TO_REGCLASS GPR:$src, F8RC)

In a named leaf node like GPR:$src, the register class provides type
information for the named variable represented by the node. The TypeSet
for such a node is the set of value types that the register class can
represent.

In an unnamed leaf node like F8RC above, the register class represents
itself as a kind of immediate. Such a node has the type MVT::i32,
we'll never create a virtual register representing it.

This change makes it possible to remove the special handling of
COPY_TO_REGCLASS in CodeGenDAGPatterns.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177825 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Plug a memory leak in FileCheck when the input file is empty.</title>
<updated>2013-03-23T13:56:23Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-03-23T13:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7cdba152bbe4debfb58ed6d9559ef77aae8a0b31'/>
<id>urn:sha1:7cdba152bbe4debfb58ed6d9559ef77aae8a0b31</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177822 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
