<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/LoopSimplify, branch release_27</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/LoopSimplify?h=release_27</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/LoopSimplify?h=release_27'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2009-11-20T20:51:18Z</updated>
<entry>
<title>Make Loop::getLoopLatch() work on loops which don't have preheaders, as</title>
<updated>2009-11-20T20:51:18Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-11-20T20:51:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a58a04921deba911d6ead8d24f495cec234681c1'/>
<id>urn:sha1:a58a04921deba911d6ead8d24f495cec234681c1</id>
<content type='text'>
it may be used in contexts where preheader insertion may have failed due
to an indirectbr.

Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in
the case that it would require splitting an indirectbr edge.

These fix PR5502.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89484 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>The introduction of indirectbr meant the introduction of</title>
<updated>2009-11-05T21:14:46Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-11-05T21:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f4e82d1f2e25f7cf8b7e9c3bd42b0e384139e07e'/>
<id>urn:sha1:f4e82d1f2e25f7cf8b7e9c3bd42b0e384139e07e</id>
<content type='text'>
unsplittable critical edges, which means the introduction of
loops which cannot be transformed to LoopSimplify form. Fix
LoopSimplify to avoid transforming such loops into invalid
code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86176 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make these tests more interesting by using</title>
<updated>2009-10-24T23:23:04Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-24T23:23:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2b110caabfa00a048fceba7e5a0df04cf4c6f691'/>
<id>urn:sha1:2b110caabfa00a048fceba7e5a0df04cf4c6f691</id>
<content type='text'>
-verify-dom-info and -verify-loop-info, which enable additional
(expensive) consistency checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85017 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix SplitBlockPredecessors' LoopInfo updating code to handle the case</title>
<updated>2009-10-19T16:04:50Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-19T16:04:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=841a14753175bb9a02a8f5286ffe03d050b0da26'/>
<id>urn:sha1:841a14753175bb9a02a8f5286ffe03d050b0da26</id>
<content type='text'>
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84505 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move the dominator verification code out of special code embedded within</title>
<updated>2009-09-28T00:27:48Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-28T00:27:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=9450b0e1a6154192ca597ad27f8eb6e6e807f7a4'/>
<id>urn:sha1:9450b0e1a6154192ca597ad27f8eb6e6e807f7a4</id>
<content type='text'>
the PassManager code into a regular verifyAnalysis method.

Also, reorganize loop verification. Make the LoopPass infrastructure
call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
check every loop in the function after each looop pass. Add a new
command-line argument, -verify-loop-info, to enable the expensive
full checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Change tests from "opt %s" to "opt &lt; %s" so that opt doesn't see the</title>
<updated>2009-09-11T18:01:28Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-11T18:01:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f2f6ce65b79df6ec4ee427d51a18355a170f199b'/>
<id>urn:sha1:f2f6ce65b79df6ec4ee427d51a18355a170f199b</id>
<content type='text'>
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Convert a few more opt | llvm-dis to opt -S.</title>
<updated>2009-09-08T22:41:33Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-08T22:41:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=7c1a96c7a7740eaba015b7ed9c4308ef7a3c128b'/>
<id>urn:sha1:7c1a96c7a7740eaba015b7ed9c4308ef7a3c128b</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81261 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use opt -S instead of piping bitcode output through llvm-dis.</title>
<updated>2009-09-08T22:34:10Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-08T22:34:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3e054fe9efc64596534bbae0d1634ed15181d642'/>
<id>urn:sha1:3e054fe9efc64596534bbae0d1634ed15181d642</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Change these tests to feed the assembly files to opt directly, instead</title>
<updated>2009-09-08T16:50:01Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-08T16:50:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b1e1e82c54c060ea5dae09dae043234826ca2539'/>
<id>urn:sha1:b1e1e82c54c060ea5dae09dae043234826ca2539</id>
<content type='text'>
of using llvm-as, now that opt supports this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach LoopSimplify how to merge multiple loop exits into a single exit,</title>
<updated>2009-06-27T21:30:38Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-06-27T21:30:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4b35f83b91a1a313f0730c600e5178aaf7df98d6'/>
<id>urn:sha1:4b35f83b91a1a313f0730c600e5178aaf7df98d6</id>
<content type='text'>
when one of them can be converted to a trivial icmp and conditional
branch.

This addresses what is essentially a phase ordering problem.
SimplifyCFG knows how to do this transformation, but it doesn't do so
if the primary block has any instructions in it other than an icmp and
a branch. In the given testcase, the block contains other instructions,
however they are loop-invariant and can be hoisted. SimplifyCFG doesn't
have LoopInfo though, so it can't hoist them. And, it's important that
the blocks be merged before LoopRotation, as it doesn't support
multiple-exit loops.


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