summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/Analysis.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* dependence analysisSebastian Pop2012-10-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 165708
* Profile: set branch weight metadata with data generated from profiling.Manman Ren2012-08-281-0/+1
| | | | | | | | | This patch implements ProfileDataLoader which loads profile data generated by -insert-edge-profiling and updates branch weight metadata accordingly. Patch by Alastair Murray. llvm-svn: 162799
* C API functions must be able to see their extern "C" definitions, or it will ↵Benjamin Kramer2011-08-191-0/+1
| | | | | | be impossible to call them from C. llvm-svn: 138022
* Rename BlockFrequency to BlockFrequencyInfo and MachineBlockFrequency toJakub Staszak2011-07-251-1/+1
| | | | | | MachineBlockFrequencyInfo. llvm-svn: 135937
* Introduce BlockFrequency analysis for BasicBlocks.Jakub Staszak2011-06-231-0/+1
| | | | llvm-svn: 133766
* New BranchProbabilityInfo analysis. Patch by Jakub Staszak!Andrew Trick2011-06-041-0/+1
| | | | | | | | | | | BranchProbabilityInfo provides an interface for IR passes to query the likelihood that control follows a CFG edge. This patch provides an initial implementation of static branch predication that will populate BranchProbabilityInfo for branches with no external profile information using very simple heuristics. It currently isn't hooked up to any external profile data, so static prediction does all the work. llvm-svn: 132613
* remove postdom frontiers, because it is dead. Forward dom frontiers areChris Lattner2011-04-051-1/+0
| | | | | | still used by RegionInfo :( llvm-svn: 128943
* Delete the LiveValues pass. I won't get get back to the project itDan Gohman2011-02-281-1/+0
| | | | | | was started for in the foreseeable future. llvm-svn: 126668
* Implementation of path profiling.Andrew Trick2011-01-291-3/+7
| | | | | | | | | | Modified patch by Adam Preuss. This builds on the existing framework for block tracing, edge profiling and optimal edge profiling. See -help-hidden for new flags. For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs. llvm-svn: 124515
* Move DominanceFrontier from VMCore to Analysis.Cameron Zwarich2011-01-181-0/+1
| | | | llvm-svn: 123747
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-071-0/+56
| | | | llvm-svn: 115946
* "In order to ease automatic bindings generation, it would be helpful if ↵Chris Lattner2010-01-091-4/+4
| | | | | | | | boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." Patch by James Y Knight! llvm-svn: 93079
* Tidy #includes.Dan Gohman2009-08-111-1/+0
| | | | llvm-svn: 78677
* Expose Function::viewCFG and Function::viewCFGOnly to bindings.Erick Tryzelaar2008-03-311-0/+9
| | | | llvm-svn: 48982
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-0/+1
| | | | | | annoying warnings. llvm-svn: 47367
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Adding bindings for memory buffers and module providers. SwitchingGordon Henriksen2007-12-191-4/+0
| | | | | | to exceptions rather than variants for error handling in Ocaml. llvm-svn: 45226
* Bindings for the verifier.Gordon Henriksen2007-10-061-0/+38
llvm-svn: 42707
OpenPOWER on IntegriCloud