<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-04-01T18:13:05Z</updated>
<entry>
<title>Correct assertion condition</title>
<updated>2013-04-01T18:13:05Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2013-04-01T18:13:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=ad26993e1a9b147c3ca4b170ab2eba260f89a1ac'/>
<id>urn:sha1:ad26993e1a9b147c3ca4b170ab2eba260f89a1ac</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178484 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts.</title>
<updated>2013-04-01T10:23:49Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2013-04-01T10:23:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=13497b3aa7589fc4f9e924f850a7e5151e9ddd2f'/>
<id>urn:sha1:13497b3aa7589fc4f9e924f850a7e5151e9ddd2f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178459 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Implement XOR reassociation. It is based on following rules:</title>
<updated>2013-03-30T02:15:01Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2013-03-30T02:15:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2d1001064989b7fa79507816fc17d467fc00a2f2'/>
<id>urn:sha1:2d1001064989b7fa79507816fc17d467fc00a2f2</id>
<content type='text'>
  rule 1: (x | c1) ^ c2 =&gt; (x &amp; ~c1) ^ (c1^c2),
     only useful when c1=c2
  rule 2: (x &amp; c1) ^ (x &amp; c2) = (x &amp; (c1^c2))
  rule 3: (x | c1) ^ (x | c2) = (x &amp; c3) ^ c3 where c3 = c1 ^ c2
  rule 4: (x | c1) ^ (x &amp; c2) =&gt; (x &amp; c3) ^ c1, where c3 = ~c1 ^ c2

 It reduces an application's size (in terms of # of instructions) by 8.9%.
 Reviwed by Pete Cooper. Thanks a lot!

 rdar://13212115  


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178409 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Updated test0 of retain-not-declared.ll to reflect the fact that objc-arc-expand runs before objc-arc/objc-arc-contract.</title>
<updated>2013-03-29T22:44:59Z</updated>
<author>
<name>Michael Gottesman</name>
<email>mgottesman@apple.com</email>
</author>
<published>2013-03-29T22:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2030d5f3e9bdde75c9585f1df5994dd4d63ce5f1'/>
<id>urn:sha1:2030d5f3e9bdde75c9585f1df5994dd4d63ce5f1</id>
<content type='text'>
Specifically, objc-arc-expand will make sure that the
objc_retainAutoreleasedReturnValue, objc_autoreleaseReturnValue, and ret
will all have %call as an argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178382 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add clang.arc.used to ModuleHasARC so ARC always runs if said call is present in a module.</title>
<updated>2013-03-29T21:15:23Z</updated>
<author>
<name>Michael Gottesman</name>
<email>mgottesman@apple.com</email>
</author>
<published>2013-03-29T21:15:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3e9f3a0389488701bd1cb5c778d0e785c827d790'/>
<id>urn:sha1:3e9f3a0389488701bd1cb5c778d0e785c827d790</id>
<content type='text'>
clang.arc.used is an interesting call for ARC since ObjCARCContract
needs to run to remove said intrinsic to avoid a linker error (since the
call does not exist).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178369 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Non optimizable objc_retainBlock calls are not forwarding.</title>
<updated>2013-03-28T20:11:30Z</updated>
<author>
<name>Michael Gottesman</name>
<email>mgottesman@apple.com</email>
</author>
<published>2013-03-28T20:11:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3832eff354eea32f92acf3f5176c6213cb65848b'/>
<id>urn:sha1:3832eff354eea32f92acf3f5176c6213cb65848b</id>
<content type='text'>
Since we handle optimizable objc_retainBlocks through strength reduction
in OptimizableIndividualCalls, we know that all code after that point
will only see non-optimizable objc_retainBlock calls. IsForwarding is
only called by functions after that point, so it is ok to just classify
objc_retainBlock as non-forwarding.

&lt;rdar://problem/13249661&gt;.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178285 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[ObjCARC] Strength reduce objc_retainBlock -&gt; objc_retain if the objc_retainBlock is optimizable.</title>
<updated>2013-03-28T20:11:19Z</updated>
<author>
<name>Michael Gottesman</name>
<email>mgottesman@apple.com</email>
</author>
<published>2013-03-28T20:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0d92a3c600b453f3aa4f50ba0189ccb1dbbc1580'/>
<id>urn:sha1:0d92a3c600b453f3aa4f50ba0189ccb1dbbc1580</id>
<content type='text'>
If an objc_retainBlock has the copy_on_escape metadata attached to it
AND if the block pointer argument only escapes down the stack, we are
allowed to strength reduce the objc_retainBlock to to an objc_retain and
thus optimize it.

Current there is logic in the ARC data flow analysis to handle
this case which is complicated and involved making distinctions in
between objc_retainBlock and objc_retain in certain places and
considering them the same in others.

This patch simplifies said code by:

1. Performing the strength reduction in the initial ARC peephole
analysis (ObjCARCOpts::OptimizeIndividualCalls).

2. Changes the ARC dataflow analysis (which runs after the peephole
analysis) to consider all objc_retainBlock calls to not be optimizable
(since if the call was optimizable, we would have strength reduced it
already).

This patch leaves in the infrastructure in the ARC dataflow analysis to
handle this case, which due to 2 will just be dead code. I am doing this
on purpose to separate the removal of the old code from the testing of
the new code.

&lt;rdar://problem/13249661&gt;.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178284 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove -O3.</title>
<updated>2013-03-28T19:34:14Z</updated>
<author>
<name>Akira Hatanaka</name>
<email>ahatanaka@mips.com</email>
</author>
<published>2013-03-28T19:34:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=fc822ce34d382bfc451c4a85cb217ef301d8bce3'/>
<id>urn:sha1:fc822ce34d382bfc451c4a85cb217ef301d8bce3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178278 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert "Adding DIImportedModules to DIScopes."</title>
<updated>2013-03-28T02:44:59Z</updated>
<author>
<name>David Blaikie</name>
<email>dblaikie@gmail.com</email>
</author>
<published>2013-03-28T02:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=72dfb052ab74a9e642256212a50c9b805ce5c943'/>
<id>urn:sha1:72dfb052ab74a9e642256212a50c9b805ce5c943</id>
<content type='text'>
This reverts commit 342d92c7a0adeabc9ab00f3f0d88d739fe7da4c7.

Turns out we're going with a different schema design to represent
DW_TAG_imported_modules so we won't need this extra field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178215 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Check if Type is a vector before calling function Type::getVectorNumElements.</title>
<updated>2013-03-28T01:28:02Z</updated>
<author>
<name>Akira Hatanaka</name>
<email>ahatanaka@mips.com</email>
</author>
<published>2013-03-28T01:28:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d7216a28d6a07a4ea4047a14427c16b96feeb36f'/>
<id>urn:sha1:d7216a28d6a07a4ea4047a14427c16b96feeb36f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178208 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
