<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/test/Transforms/GVN, branch release_32</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/test/Transforms/GVN?h=release_32</id>
<link rel='self' href='https://git.amat.us/llvm/atom/test/Transforms/GVN?h=release_32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-11-08T20:34:25Z</updated>
<entry>
<title>llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware.</title>
<updated>2012-11-08T20:34:25Z</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2012-11-08T20:34:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=562b1d883f304e52b237e0af2ff7e4a9e02100cd'/>
<id>urn:sha1:562b1d883f304e52b237e0af2ff7e4a9e02100cd</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167595 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Update GVN to support vectors of pointers.</title>
<updated>2012-10-24T21:22:30Z</updated>
<author>
<name>Hal Finkel</name>
<email>hfinkel@anl.gov</email>
</author>
<published>2012-10-24T21:22:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=aacb68806f4cb05b0b8102a188726e5b13f2a759'/>
<id>urn:sha1:aacb68806f4cb05b0b8102a188726e5b13f2a759</id>
<content type='text'>
GVN will now generate ptrtoint instructions for vectors of pointers.
Fixes PR14166.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166624 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Ignore unreachable blocks when doing memory dependence analysis on non-local</title>
<updated>2012-10-23T18:37:11Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-10-23T18:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b846719663fb7f7847dacf956696ef257ab88d8e'/>
<id>urn:sha1:b846719663fb7f7847dacf956696ef257ab88d8e</id>
<content type='text'>
loads. It's not really profitable and may result in GVN going into an infinite
loop when it hits constructs like this:

     %x = gep %some.type %x, ...

Found via an LTO build of LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166490 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make MemoryBuiltins aware of TargetLibraryInfo.</title>
<updated>2012-08-29T15:32:21Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-08-29T15:32:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6'/>
<id>urn:sha1:8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6</id>
<content type='text'>
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.

Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.

Fixes PR13694 and probably others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix broken check lines.</title>
<updated>2012-08-17T12:28:26Z</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2012-08-17T12:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4e81d40545b01e0ce486b4de72282e66b91f48e9'/>
<id>urn:sha1:4e81d40545b01e0ce486b4de72282e66b91f48e9</id>
<content type='text'>
I really need to find a way to automate this, but I can't come up with a regex
that has no false positives while handling tricky cases like custom check
prefixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162097 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Teach GVN to reason about edges dominating uses. This allows it to handle cases</title>
<updated>2012-08-16T15:09:43Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2012-08-16T15:09:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=05130597262f3ed00dc4881d64795d117c76e3fc'/>
<id>urn:sha1:05130597262f3ed00dc4881d64795d117c76e3fc</id>
<content type='text'>
where some fact lake a=b dominates a use in a phi, but doesn't dominate the
basic block itself.

This feature could also be implemented by splitting critical edges, but at least
with the current algorithm reasoning about the dominance directly is faster.

The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower
and on gcc as a single file it is 1.0007 times faster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162023 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix the remaining TCL-style quotes found in the testsuite. This is</title>
<updated>2012-07-02T19:09:46Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T19:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1de43ede8904e08de37f601c9bab0b70f71156e1'/>
<id>urn:sha1:1de43ede8904e08de37f601c9bab0b70f71156e1</id>
<content type='text'>
another mechanical change accomplished though the power of terrible Perl
scripts.

I have manually switched some "s to 's to make escaping simpler.

While I started this to fix tests that aren't run in all configurations,
the massive number of tests is due to a really frustrating fragility of
our testing infrastructure: things like 'grep -v', 'not grep', and
'expected failures' can mask broken tests all too easily.

Essentially, I'm deeply disturbed that I can change the testsuite so
radically without causing any change in results for most platforms. =/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159547 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Convert the uses of '|&amp;' to use '2&gt;&amp;1 |' instead, which works on old</title>
<updated>2012-07-02T18:37:59Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T18:37:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=49589f0d0e35f643e697ab7ae8a51a530d38b0d8'/>
<id>urn:sha1:49589f0d0e35f643e697ab7ae8a51a530d38b0d8</id>
<content type='text'>
versions of Bash. In addition, I can back out the change to the lit
built-in shell test runner to support this.

This should fix the majority of fallout on Darwin, but I suspect there
will be a few straggling issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159544 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>When gvn decides to replace an instruction with another, we have to patch the</title>
<updated>2012-06-04T22:44:21Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2012-06-04T22:44:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=06c6791742dfdd54b51441589e1c0921f9851675'/>
<id>urn:sha1:06c6791742dfdd54b51441589e1c0921f9851675</id>
<content type='text'>
replacement to make it at least as generic as the instruction being replaced.
This includes:
* dropping nsw/nuw flags
* getting the least restrictive tbaa and fpmath metadata
* merging ranges

Fixes PR12979.

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