History log of /external/llvm/lib/Analysis/DependenceAnalysis.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
62d6fa5e8f9a3ffd270a6b08230ff61cae849dcf 06-Aug-2013 Jakub Staszak <kubastaszak@gmail.com> Remove extraneous semicolon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
a0ec3f9b7b826b9b40b80199923b664bad808cce 14-Jul-2013 Craig Topper <craig.topper@gmail.com> Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
26ba4953091491989eb21feb68fef27ca3f280af 28-Jun-2013 Preston Briggs <preston.briggs@gmail.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
a4eff77e37a59665b604cb8a644d66796b5622d4 30-Nov-2012 Preston Briggs <preston.briggs@gmail.com> Modified dump() to provide a little
more information for dependences between
instructions that don't share a common loop.

Updated the test results appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
a18d377e73d3dd96233011e9da9789861fb8f315 29-Nov-2012 Preston Briggs <preston.briggs@gmail.com> Cleaned up a couple of comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
3c1cc3888bbfbb568dad296f577c63eba8999a72 27-Nov-2012 Preston Briggs <preston.briggs@gmail.com> Modified depends() to recognize that when all levels are "=" and
there's no possible loo-independent dependence, then there's no
dependence.

Updated all test result appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
6ee74f52e987036ced56293d50580f8208b863f5 27-Nov-2012 Preston Briggs <preston.briggs@gmail.com> Modify depends(Src, Dst, PossiblyLoopIndependent).
If the Src and Dst are the same instruction,
no loop-independent dependence is possible,
so we force the PossiblyLoopIndependent flag to false.

The test case results are updated appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
72a2c0622ab072030c9108badea50074d96bec6a 22-Nov-2012 Preston Briggs <preston.briggs@gmail.com> Corrects a problem where we reply exclusively of GEPs to drive
analysis. Better is to look for cases with useful GEPs and use them
when possible. When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
7372a7d5f87bf1ff65d07f25bae037ddc4df994d 20-Nov-2012 Sebastian Pop <spop@codeaurora.org> removes a few "const" qualifiers

so that I can (someday) call SE->getSCEV without complaint.
No semantic change intended.

Patch from Preston Briggs <preston.briggs@gmail.com>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
563e8fce2ee22b21beb40ac65a6eaf2199d30414 13-Nov-2012 Benjamin Kramer <benny.kra@googlemail.com> DependenceAnalysis: Print all dependency pairs when dumping. Update all testcases.

Part of a patch by Preston Briggs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
e803d05bd87d1181c971fb719fef5638dd44ce99 31-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix a couple of comment typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
061938b90b1addc3c3269bdbfeae1029f0c05a43 31-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> DependenceAnalysis: Don't crash if there is no constant operand.

This makes the code match the comments. Resolves a crash in loop idiom (PR14219).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
8e4e0074092f5e6e429f4ac5415a82a8423ec4f9 25-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> DependenceAnalysis: Push #includes down into the implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
b4164284b58842571df1e3ca1467246cde8664cc 12-Oct-2012 Sebastian Pop <spop@codeaurora.org> fix warning

DependenceAnalysis.cpp:1164:32: warning: implicit truncation from 'int' to bitfield changes value from -5 to 3
[-Wconstant-conversion]
Result.DV[Level].Direction &= ~Dependence::DVEntry::GT;
^ ~~~~~~~~~~~~~~~~~~~~~~~~

Patch from Preston Briggs <preston.briggs@gmail.com>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp
ad43499fc4c2879e25e8c83ddd556a3079e41516 11-Oct-2012 Sebastian Pop <spop@codeaurora.org> dependence analysis

Patch from Preston Briggs <preston.briggs@gmail.com>.

This is an updated version of the dependence-analysis patch, including an MIV
test based on Banerjee's inequalities.

It's a fairly complete implementation of the paper

Practical Dependence Testing
Gina Goff, Ken Kennedy, and Chau-Wen Tseng
PLDI 1991

It cannot yet propagate constraints between coupled RDIV subscripts (discussed
in Section 5.3.2 of the paper).

It's organized as a FunctionPass with a single entry point that supports testing
for dependence between two instructions in a function. If there's no dependence,
it returns null. If there's a dependence, it returns a pointer to a Dependence
which can be queried about details (what kind of dependence, is it loop
independent, direction and distance vector entries, etc). I haven't included
every imaginable feature, but there's a good selection that should be adequate
for supporting many loop transformations. Of course, it can be extended as
necessary.

Included in the patch file are many test cases, commented with C code showing
the loops and array references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/DependenceAnalysis.cpp