<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/SimplifyCFG, branch release_27</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/SimplifyCFG?h=release_27</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/SimplifyCFG?h=release_27'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2010-03-02T01:11:08Z</updated>
<entry>
<title>Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,</title>
<updated>2010-03-02T01:11:08Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-03-02T01:11:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a9445e11c553855a6caacbbbf77a9b993ecc651e'/>
<id>urn:sha1:a9445e11c553855a6caacbbbf77a9b993ecc651e</id>
<content type='text'>
respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97531 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach SimplifyCFG about magic pointer constants.</title>
<updated>2010-02-05T22:03:18Z</updated>
<author>
<name>Jakob Stoklund Olesen</name>
<email>stoklund@2pi.dk</email>
</author>
<published>2010-02-05T22:03:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=58e9ee85fda5083e2eea987917e8eab6ba31fe5e'/>
<id>urn:sha1:58e9ee85fda5083e2eea987917e8eab6ba31fe5e</id>
<content type='text'>
Weird code sometimes uses pointer constants other than null. This patch
teaches SimplifyCFG to build switch instructions in those cases.

Code like this:

void f(const char *x) {
  if (!x)
    puts("null");
  else if ((uintptr_t)x == 1)
    puts("one");
  else if (x == (char*)2 || x == (char*)3)
    puts("two");
  else if ((intptr_t)x == 4)
    puts("four");
  else
    puts(x);
}

Now becomes a switch:

define void @f(i8* %x) nounwind ssp {
entry:
  %magicptr23 = ptrtoint i8* %x to i64            ; &lt;i64&gt; [#uses=1]
  switch i64 %magicptr23, label %if.else16 [
    i64 0, label %if.then
    i64 1, label %if.then2
    i64 2, label %if.then9
    i64 3, label %if.then9
    i64 4, label %if.then14
  ]

Note that LLVM's own DenseMap uses magic pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95439 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Delete useless trailing semicolons.</title>
<updated>2010-01-05T17:55:26Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2010-01-05T17:55:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=aceba31b7a04fd28680209b2677915378877bc13'/>
<id>urn:sha1:aceba31b7a04fd28680209b2677915378877bc13</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>fix two bogus tests that the asmparser now rejects.</title>
<updated>2009-12-30T05:54:51Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-12-30T05:54:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=c17e2849d10a961abf7183222baab31d84e3990f'/>
<id>urn:sha1:c17e2849d10a961abf7183222baab31d84e3990f</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92303 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Implement PR5795 by merging duplicated return blocks.  This could go further</title>
<updated>2009-12-22T06:07:30Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-12-22T06:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1a0e7081c3e94ae69f2768465da34a3dceaaa5f6'/>
<id>urn:sha1:1a0e7081c3e94ae69f2768465da34a3dceaaa5f6</id>
<content type='text'>
by merging all returns in a function into a single one, but simplifycfg 
currently likes to duplicate the return (an unfortunate choice!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91890 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>convert to filecheck</title>
<updated>2009-12-22T06:04:26Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-12-22T06:04:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=42385b03aa719aec326a6236b9310298b424c865'/>
<id>urn:sha1:42385b03aa719aec326a6236b9310298b424c865</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91889 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Optimize test more.</title>
<updated>2009-11-10T21:02:18Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-11-10T21:02:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=14bbbf3168f232152f18e57e99abddcabe433cd9'/>
<id>urn:sha1:14bbbf3168f232152f18e57e99abddcabe433cd9</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86714 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>optimize test</title>
<updated>2009-11-10T07:44:36Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-11-10T07:44:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8fb02511d239594528ca791b92f2b92cabea78c3'/>
<id>urn:sha1:8fb02511d239594528ca791b92f2b92cabea78c3</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86672 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r85667. LoopUnroll currently can't call utility functions which</title>
<updated>2009-10-31T17:33:01Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-31T17:33:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=438b583dbd20f63b70d0b5abb7780a50bf03dd83'/>
<id>urn:sha1:438b583dbd20f63b70d0b5abb7780a50bf03dd83</id>
<content type='text'>
auto-update the DominatorTree because it doesn't keep the DominatorTree
current while it works.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85670 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into</title>
<updated>2009-10-31T16:08:00Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-31T16:08:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f230d8ad15f7ad5cdc5f3950b9d4f0c773d0bac0'/>
<id>urn:sha1:f230d8ad15f7ad5cdc5f3950b9d4f0c773d0bac0</id>
<content type='text'>
MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive,
and makes it unnecessary for LoopUnroll to have its own copy of this code.


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