<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/Reassociate, branch testing</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/Reassociate?h=testing</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/Reassociate?h=testing'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-12-30T02:33:22Z</updated>
<entry>
<title>Tests: rewrite 'opt ... %s' to 'opt ... &lt; %s' so that opt does not emit a ModuleID</title>
<updated>2012-12-30T02:33:22Z</updated>
<author>
<name>Dmitri Gribenko</name>
<email>gribozavr@gmail.com</email>
</author>
<published>2012-12-30T02:33:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a6542923b8ad94d791a12d3d5ae3e62a611f0383'/>
<id>urn:sha1:a6542923b8ad94d791a12d3d5ae3e62a611f0383</id>
<content type='text'>
This is done to avoid odd test failures, like the one fixed in r171243.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171250 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR14060, an infinite loop in reassociate.  The problem was that one of the</title>
<updated>2012-11-18T19:27:01Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-11-18T19:27:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b8e1111fbf71766903d2fc7b158dc612df097ea3'/>
<id>urn:sha1:b8e1111fbf71766903d2fc7b158dc612df097ea3</id>
<content type='text'>
operands of the expression being written was wrongly thought to be reusable as
an inner node of the expression resulting in it turning up as both an inner node
*and* a leaf, creating a cycle in the def-use graph.  This would have caused the
verifier to blow up if things had gotten that far, however it managed to provoke
an infinite loop first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168291 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a crash observed by Shuxin Yang.  The issue here is that LinearizeExprTree,</title>
<updated>2012-11-15T09:58:38Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-11-15T09:58:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7ecfcc163956a9e27845ac217f6c650658631030'/>
<id>urn:sha1:7ecfcc163956a9e27845ac217f6c650658631030</id>
<content type='text'>
the utility for extracting a chain of operations from the IR, thought that it
might as well combine any constants it came across (rather than just returning
them along with everything else).  On the other hand, the factorization code
would like to see the individual constants (this is quite reasonable: it is
much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6;
you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo
multiplications of constants as it may at first appear).  This patch therefore
makes LinearizeExprTree stupider: it now leaves optimizing to the optimization
part of reassociate, and sticks to just analysing the IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168035 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>revert r167740</title>
<updated>2012-11-13T00:08:49Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2012-11-13T00:08:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4df2826166f1339eb7ddf5c5c84565fccb794de8'/>
<id>urn:sha1:4df2826166f1339eb7ddf5c5c84565fccb794de8</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167787 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>This change is to fix rdar://12571717 which is about assertion in Reassociate pass.</title>
<updated>2012-11-12T19:34:11Z</updated>
<author>
<name>Shuxin Yang</name>
<email>shuxin.llvm@gmail.com</email>
</author>
<published>2012-11-12T19:34:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0a46bf13a3b6c412749b874b52c8234b027b7134'/>
<id>urn:sha1:0a46bf13a3b6c412749b874b52c8234b027b7134</id>
<content type='text'>
The assertion is trigged when the Reassociater tries to transform expression
     ... + 2 * n * 3 + 2 * m + ...
  into:
     ... + 2 * (n*3 + m).

In the process of the transformation, a helper routine folds the constant 2*3 into 6,
confusing optimizer which is trying the to eliminate the common factor 2, and cannot
find 2 any more. 

Review is pending. But I'd like commit first in order to help those who are waiting 
for this fix. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167740 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Stop reassociate from looking through expressions of arbitrary complexity.  This</title>
<updated>2012-07-26T09:26:40Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-07-26T09:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=20b2d21509b3d5a10ec5d7be6dea8afa9e92fdee'/>
<id>urn:sha1:20b2d21509b3d5a10ec5d7be6dea8afa9e92fdee</id>
<content type='text'>
is a temporary measure until my fix for PR13021 is ready.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160778 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Convert all tests using TCL-style quoting to use shell-style quoting.</title>
<updated>2012-07-02T12:47:22Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T12:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4177e6fff50552908bab510f1e896fa974a6f155'/>
<id>urn:sha1:4177e6fff50552908bab510f1e896fa974a6f155</id>
<content type='text'>
This was done through the aid of a terrible Perl creation. I will not
paste any of the horrors here. Suffice to say, it require multiple
staged rounds of replacements, state carried between, and a few
nested-construct-parsing hacks that I'm not proud of. It happens, by
luck, to be able to deal with all the TCL-quoting patterns in evidence
in the LLVM test suite.

If anyone is maintaining large out-of-tree test trees, feel free to poke
me and I'll send you the steps I used to convert things, as well as
answer any painful questions etc. IRC works best for this type of thing
I find.

Once converted, switch the LLVM lit config to use ShTests the same as
Clang. In addition to being able to delete large amounts of Python code
from 'lit', this will also simplify the entire test suite and some of
lit's architecture.

Finally, the test suite runs 33% faster on Linux now. ;]
For my 16-hardware-thread (2x 4-core xeon e5520): 36s -&gt; 24s

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159525 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a reassociate crash on sozefx when compiling with dragonegg+gcc-4.7 due to</title>
<updated>2012-06-29T13:25:06Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-06-29T13:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=96d2eff5c6713a2c5fd2cd61545e49637c332975'/>
<id>urn:sha1:96d2eff5c6713a2c5fd2cd61545e49637c332975</id>
<content type='text'>
the optimizers producing a multiply expression with more multiplications than
the original (!).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159426 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Some reassociate optimizations create new instructions, which they insert just</title>
<updated>2012-06-27T14:19:00Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2012-06-27T14:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2d5f8ca3d180832d168e59e2bf3d85317e86287d'/>
<id>urn:sha1:2d5f8ca3d180832d168e59e2bf3d85317e86287d</id>
<content type='text'>
before the expression root.  Any existing operators that are changed to use one
of them needs to be moved between it and the expression root, and recursively
for the operators using that one.  When I rewrote RewriteExprTree I accidentally
inverted the logic, resulting in the compacting going down from operators to
operands rather than up from operands to the operators using them, oops.  Fix
this, resolving PR12963.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159265 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove a dangling reference to a deleted instruction. Fixes PR13185!</title>
<updated>2012-06-24T01:44:08Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2012-06-24T01:44:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=917f99354fa558e50d17191f593f81155b4ab2c3'/>
<id>urn:sha1:917f99354fa558e50d17191f593f81155b4ab2c3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159096 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
