<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/PhaseOrdering, branch stable</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/PhaseOrdering?h=stable</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/PhaseOrdering?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-12-30T01:28:40Z</updated>
<entry>
<title>Tests: rewrite 'opt ... %s' to 'opt ... &lt; %s' so that opt does not emit a ModuleID</title>
<updated>2012-12-30T01:28:40Z</updated>
<author>
<name>Dmitri Gribenko</name>
<email>gribozavr@gmail.com</email>
</author>
<published>2012-12-30T01:28:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b4912b9dccd7250c372a40ba0734171c6b0f5e9b'/>
<id>urn:sha1:b4912b9dccd7250c372a40ba0734171c6b0f5e9b</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@171246 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add test case for r164850.</title>
<updated>2012-09-29T00:12:08Z</updated>
<author>
<name>Evan Cheng</name>
<email>evan.cheng@apple.com</email>
</author>
<published>2012-09-29T00:12:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=aa7e47416ada94c99cd44993cd38c260c04d5232'/>
<id>urn:sha1:aa7e47416ada94c99cd44993cd38c260c04d5232</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164867 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Reapply r155136 after fixing PR12599.</title>
<updated>2012-04-23T17:39:52Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-04-23T17:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=72847f3057a7d82be087d3aad7d13b7719409a32'/>
<id>urn:sha1:72847f3057a7d82be087d3aad7d13b7719409a32</id>
<content type='text'>
Original commit message:

Defer some shl transforms to DAGCombine.

The shl instruction is used to represent multiplication by a constant
power of two as well as bitwise left shifts. Some InstCombine
transformations would turn an shl instruction into a bit mask operation,
making it difficult for later analysis passes to recognize the
constsnt multiplication.

Disable those shl transformations, deferring them to DAGCombine time.
An 'shl X, C' instruction is now treated mostly the same was as 'mul X, C'.

These transformations are deferred:

  (X &gt;&gt;? C) &lt;&lt; C   --&gt; X &amp; (-1 &lt;&lt; C)  (When X &gt;&gt; C has multiple uses)
  (X &gt;&gt;? C1) &lt;&lt; C2 --&gt; X &lt;&lt; (C2-C1) &amp; (-1 &lt;&lt; C2)   (When C2 &gt; C1)
  (X &gt;&gt;? C1) &lt;&lt; C2 --&gt; X &gt;&gt;? (C1-C2) &amp; (-1 &lt;&lt; C2)  (When C1 &gt; C2)

The corresponding exact transformations are preserved, just like
div-exact + mul:

  (X &gt;&gt;?,exact C) &lt;&lt; C   --&gt; X
  (X &gt;&gt;?,exact C1) &lt;&lt; C2 --&gt; X &lt;&lt; (C2-C1)
  (X &gt;&gt;?,exact C1) &lt;&lt; C2 --&gt; X &gt;&gt;?,exact (C1-C2)

The disabled transformations could also prevent the instruction selector
from recognizing rotate patterns in hash functions and cryptographic
primitives. I have a test case for that, but it is too fragile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155362 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r155136 "Defer some shl transforms to DAGCombine."</title>
<updated>2012-04-20T00:38:45Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-04-20T00:38:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=eece9dc81cedf0cda5c356c180f60d91c99920fc'/>
<id>urn:sha1:eece9dc81cedf0cda5c356c180f60d91c99920fc</id>
<content type='text'>
While the patch was perfect and defect free, it exposed a really nasty
bug in X86 SelectionDAG that caused an llc crash when compiling lencod.

I'll put the patch back in after fixing the SelectionDAG problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155181 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Defer some shl transforms to DAGCombine.</title>
<updated>2012-04-19T16:46:26Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-04-19T16:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0d5fcae6cd7b96a5a483d6179d2908517970169c'/>
<id>urn:sha1:0d5fcae6cd7b96a5a483d6179d2908517970169c</id>
<content type='text'>
The shl instruction is used to represent multiplication by a constant
power of two as well as bitwise left shifts. Some InstCombine
transformations would turn an shl instruction into a bit mask operation,
making it difficult for later analysis passes to recognize the
constsnt multiplication.

Disable those shl transformations, deferring them to DAGCombine time.
An 'shl X, C' instruction is now treated mostly the same was as 'mul X, C'.

These transformations are deferred:

  (X &gt;&gt;? C) &lt;&lt; C   --&gt; X &amp; (-1 &lt;&lt; C)  (When X &gt;&gt; C has multiple uses)
  (X &gt;&gt;? C1) &lt;&lt; C2 --&gt; X &lt;&lt; (C2-C1) &amp; (-1 &lt;&lt; C2)   (When C2 &gt; C1)
  (X &gt;&gt;? C1) &lt;&lt; C2 --&gt; X &gt;&gt;? (C1-C2) &amp; (-1 &lt;&lt; C2)  (When C1 &gt; C2)

The corresponding exact transformations are preserved, just like
div-exact + mul:

  (X &gt;&gt;?,exact C) &lt;&lt; C   --&gt; X
  (X &gt;&gt;?,exact C1) &lt;&lt; C2 --&gt; X &lt;&lt; (C2-C1)
  (X &gt;&gt;?,exact C1) &lt;&lt; C2 --&gt; X &gt;&gt;?,exact (C1-C2)

The disabled transformations could also prevent the instruction selector
from recognizing rotate patterns in hash functions and cryptographic
primitives. I have a test case for that, but it is too fragile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155136 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Extract the broken part of XFAILed test into its own file.</title>
<updated>2012-04-19T00:20:38Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2012-04-19T00:20:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0d77b9c29c2c89d5bb133b9adb807b906db9d7fa'/>
<id>urn:sha1:0d77b9c29c2c89d5bb133b9adb807b906db9d7fa</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155081 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.</title>
<updated>2012-02-16T06:28:33Z</updated>
<author>
<name>Eli Bendersky</name>
<email>eli.bendersky@intel.com</email>
</author>
<published>2012-02-16T06:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0f0c411079cd21bb3a81a1b70bf8c67539a16c22'/>
<id>urn:sha1:0f0c411079cd21bb3a81a1b70bf8c67539a16c22</id>
<content type='text'>
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150664 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add file.</title>
<updated>2011-08-19T21:21:20Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2011-08-19T21:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a510a1c931c01fe8a7fa1470bb06ae4d34b6076f'/>
<id>urn:sha1:a510a1c931c01fe8a7fa1470bb06ae4d34b6076f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138083 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>This directory was missing the dg.exp to cause the tests to run. Some time since</title>
<updated>2011-06-06T20:23:00Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2011-06-06T20:23:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9071ac2797319e912213ed65a0cbb40c69daec38'/>
<id>urn:sha1:9071ac2797319e912213ed65a0cbb40c69daec38</id>
<content type='text'>
it was added, the test has regressed, so XFAIL it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132686 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>final step needed to resolve PR6627, which allows us to flatten the code down to</title>
<updated>2011-04-28T18:15:47Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2011-04-28T18:15:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0a9e3d613bbbd8c47f4edf6841f566fa22775932'/>
<id>urn:sha1:0a9e3d613bbbd8c47f4edf6841f566fa22775932</id>
<content type='text'>
a nice and tidy:
  %x1 = load i32* %0, align 4
  %1 = icmp eq i32 %x1, 1179403647
  br i1 %1, label %if.then, label %if.end

instead of doing lots of loads and branches.  May the FreeBSD bootloader
long fit in its allocated space.



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