<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/Analysis/LoopInfo, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2018-12-20T04:58:07+00:00</updated>
<entry>
<title>Introduce llvm.loop.parallel_accesses and llvm.access.group metadata.</title>
<updated>2018-12-20T04:58:07+00:00</updated>
<author>
<name>Michael Kruse</name>
<email>llvm@meinersbur.de</email>
</author>
<published>2018-12-20T04:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=978ba61536c2cdafa8454b7330c5d8e58d0d5048'/>
<id>urn:sha1:978ba61536c2cdafa8454b7330c5d8e58d0d5048</id>
<content type='text'>
The current llvm.mem.parallel_loop_access metadata has a problem in that
it uses LoopIDs. LoopID unfortunately is not loop identifier. It is
neither unique (there's even a regression test assigning the some LoopID
to multiple loops; can otherwise happen if passes such as LoopVersioning
make copies of entire loops) nor persistent (every time a property is
removed/added from a LoopID's MDNode, it will also receive a new LoopID;
this happens e.g. when calling Loop::setLoopAlreadyUnrolled()).
Since most loop transformation passes change the loop attributes (even
if it just to mark that a loop should not be processed again as
llvm.loop.isvectorized does, for the versioned and unversioned loop),
the parallel access information is lost for any subsequent pass.

This patch unlinks LoopIDs and parallel accesses.
llvm.mem.parallel_loop_access metadata on instruction is replaced by
llvm.access.group metadata. llvm.access.group points to a distinct
MDNode with no operands (avoiding the problem to ever need to add/remove
operands), called "access group". Alternatively, it can point to a list
of access groups. The LoopID then has an attribute
llvm.loop.parallel_accesses with all the access groups that are parallel
(no dependencies carries by this loop).

This intentionally avoid any kind of "ID". Loops that are clones/have
their attributes modifies retain the llvm.loop.parallel_accesses
attribute. Access instructions that a cloned point to the same access
group. It is not necessary for each access to have it's own "ID" MDNode,
but those memory access instructions with the same behavior can be
grouped together.

The behavior of llvm.mem.parallel_loop_access is not changed by this
patch, but should be considered deprecated.

Differential Revision: https://reviews.llvm.org/D52116

llvm-svn: 349725
</content>
</entry>
<entry>
<title>[PM] Port LoopInfo to the new pass manager, adding both a LoopAnalysis</title>
<updated>2015-01-20T10:58:50+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2015-01-20T10:58:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aaf0b4cd57c609b33c2c12adc5d0ca109c8e6131'/>
<id>urn:sha1:aaf0b4cd57c609b33c2c12adc5d0ca109c8e6131</id>
<content type='text'>
pass and a LoopPrinterPass with the expected associated wiring.

I've added a RUN line to the only test case (!!!) we have that actually
prints loops. Everything seems to be working.

This is somewhat exciting as this is the first analysis using another
analysis to go in for the new pass manager. =D I also believe it is the
last analysis necessary for porting instcombine, but of course I may yet
discover more.

llvm-svn: 226560
</content>
</entry>
<entry>
<title>FileCheck-ize tests.</title>
<updated>2013-08-22T00:51:19+00:00</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2013-08-22T00:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a08bb49c61d090a9735f331268caba668f13a4d6'/>
<id>urn:sha1:a08bb49c61d090a9735f331268caba668f13a4d6</id>
<content type='text'>
llvm-svn: 188971
</content>
</entry>
<entry>
<title>[tests] Cleanup initialization of test suffixes.</title>
<updated>2013-08-16T00:37:11+00:00</updated>
<author>
<name>Daniel Dunbar</name>
<email>daniel@zuster.org</email>
</author>
<published>2013-08-16T00:37:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9efbedfd352e2cff67c5b9e10c5e22c392008ce5'/>
<id>urn:sha1:9efbedfd352e2cff67c5b9e10c5e22c392008ce5</id>
<content type='text'>
 - Instead of setting the suffixes in a bunch of places, just set one master
   list in the top-level config. We now only modify the suffix list in a few
   suites that have one particular unique suffix (.ml, .mc, .yaml, .td, .py).

 - Aside from removing the need for a bunch of lit.local.cfg files, this enables
   4 tests that were inadvertently being skipped (one in
   Transforms/BranchFolding, a .s file each in DebugInfo/AArch64 and
   CodeGen/PowerPC, and one in CodeGen/SI which is now failing and has been
   XFAILED).

 - This commit also fixes a bunch of config files to use config.root instead of
   older copy-pasted code.

llvm-svn: 188513
</content>
</entry>
<entry>
<title>Convert all tests using TCL-style quoting to use shell-style quoting.</title>
<updated>2012-07-02T12:47:22+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-07-02T12:47:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a5a29f970eea116b38064453d21066127473171c'/>
<id>urn:sha1:a5a29f970eea116b38064453d21066127473171c</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

llvm-svn: 159525
</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:33+00:00</updated>
<author>
<name>Eli Bendersky</name>
<email>eli.bendersky@intel.com</email>
</author>
<published>2012-02-16T06:28:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=924f9a671d8a9e6156ea4519ad9f1ce36c708978'/>
<id>urn:sha1:924f9a671d8a9e6156ea4519ad9f1ce36c708978</id>
<content type='text'>
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.

llvm-svn: 150664
</content>
</entry>
<entry>
<title>Update these tests to match what Loop::print now prints.</title>
<updated>2009-10-24T23:52:07+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-10-24T23:52:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7f2413f18bba3023a3198312e9e02bb8cd279a8a'/>
<id>urn:sha1:7f2413f18bba3023a3198312e9e02bb8cd279a8a</id>
<content type='text'>
llvm-svn: 85021
</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:28+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-11T18:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=18800927221ce81d454948dd196c3a9049b6e6c3'/>
<id>urn:sha1:18800927221ce81d454948dd196c3a9049b6e6c3</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.

llvm-svn: 81537
</content>
</entry>
<entry>
<title>Change these tests to feed the assembly files to opt directly, instead</title>
<updated>2009-09-08T16:50:01+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-09-08T16:50:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9737a63ed8786e58e5aa261df1587673c9eba32d'/>
<id>urn:sha1:9737a63ed8786e58e5aa261df1587673c9eba32d</id>
<content type='text'>
of using llvm-as, now that opt supports this.

llvm-svn: 81226
</content>
</entry>
<entry>
<title>Update this test for the LoopInfo::print changes.</title>
<updated>2009-02-27T00:17:49+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-02-27T00:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b4e896baeda48c964507767e7363858e62e4bb8f'/>
<id>urn:sha1:b4e896baeda48c964507767e7363858e62e4bb8f</id>
<content type='text'>
llvm-svn: 65597
</content>
</entry>
</feed>
