summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Silenced a VC++ warning.Hartmut Kaiser2007-10-251-1/+1
| | | | llvm-svn: 43374
* Fix for PR1741.Owen Anderson2007-10-251-2/+3
| | | | llvm-svn: 43326
* Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than ↵Owen Anderson2007-10-231-19/+1
| | | | | | inheriting from it. llvm-svn: 43259
* Move the SCEV object factors from being static members of the individualDan Gohman2007-10-222-177/+193
| | | | | | | SCEV subclasses to being non-static member functions of the ScalarEvolution class. llvm-svn: 43224
* Template DominatorTreeBase by node type. This is the next major step towardsOwen Anderson2007-10-161-1/+1
| | | | | | having dominator information on MBB's. llvm-svn: 43036
* Bindings for the verifier.Gordon Henriksen2007-10-061-0/+38
| | | | llvm-svn: 42707
* Completely merge the implementation details of DomTree and PostDomTree.Owen Anderson2007-10-032-101/+2
| | | | | | Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, llvm-svn: 42593
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-032-3/+3
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Factor some code from the DomTree and PostDomTree calculate methods up into Owen Anderson2007-10-032-18/+23
| | | | | | each one's runOnFunction method. llvm-svn: 42563
* Rewrite sqrt and powi to use anyfloat. By popular demand.Dale Johannesen2007-10-021-12/+4
| | | | llvm-svn: 42537
* Template-ize more of the DomTree internal implementation details. Only the ↵Owen Anderson2007-09-301-3/+4
| | | | | | calculate() methods for DomTree and PostDomTree remain to be merged/template-ized. llvm-svn: 42476
* Add a new DenseSet abstraction.Chris Lattner2007-09-301-4/+4
| | | | llvm-svn: 42474
* Switch to densemap rather than std::setDaniel Berlin2007-09-291-3/+26
| | | | llvm-svn: 42462
* Remove unneeded #include.Owen Anderson2007-09-281-1/+0
| | | | llvm-svn: 42428
* Have PostDomTree use the newly templated DFSPass.Owen Anderson2007-09-282-46/+3
| | | | llvm-svn: 42427
* Add sqrt and powi intrinsics for long double.Dale Johannesen2007-09-281-0/+6
| | | | llvm-svn: 42423
* Ignore redundant constraintsDaniel Berlin2007-09-271-2/+20
| | | | llvm-svn: 42397
* Build the correct range for loops with unusual bounds. Fix from Jay Foad.Nick Lewycky2007-09-271-1/+1
| | | | llvm-svn: 42394
* Add a newline to the end of this file.Duncan Sands2007-09-251-1/+1
| | | | llvm-svn: 42314
* Don't execute dump unless NDEBUG isn't defined.Bill Wendling2007-09-241-0/+2
| | | | llvm-svn: 42280
* Comment fixupsDaniel Berlin2007-09-241-12/+11
| | | | llvm-svn: 42279
* Implement offline variable substitution in order to reduce memoryDaniel Berlin2007-09-241-91/+926
| | | | | | | | and time usage. Fixup operator == to make this work, and add a resize method to DenseMap so we can resize our hashtable once we know how big it should be. llvm-svn: 42269
* Merge significant portions of the DomTree and PostDomTree implementations.Owen Anderson2007-09-241-36/+3
| | | | | | The two remaining unmerged parts are DFSPass, and the Calculate(). llvm-svn: 42255
* Factor the calculation details for PostDomTree out of PostDominators.cpp andOwen Anderson2007-09-232-142/+149
| | | | | | | | into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. llvm-svn: 42251
* Add partial caching of non-local memory dependence queries. This provides a ↵Owen Anderson2007-09-211-2/+33
| | | | | | | | modest speedup for GVN. llvm-svn: 42185
* Add a flag to mark a dirty cache entry. This is not yet used, but will ↵Owen Anderson2007-09-191-0/+1
| | | | | | | | eventually help non-local memdep caching. llvm-svn: 42137
* ooops...Devang Patel2007-09-181-1/+1
| | | | llvm-svn: 42118
* Fix bug in andersen's related to test_and_set.Daniel Berlin2007-09-161-4/+3
| | | | | | | Add operator == and != to SparseBitVector. Simplify code for test_and_set llvm-svn: 42018
* Rewrite of andersen's to be about 100x faster, cleaner, and begin to support ↵Daniel Berlin2007-09-161-324/+687
| | | | | | field sensitivity llvm-svn: 42016
* Change "tmp." to "tmp" for temporaries created by ScalarEvolutionExpanderDan Gohman2007-09-141-1/+1
| | | | | | for consistency with many other transforms. llvm-svn: 41957
* Fix a typo in memdep, which was causing PR1648.Owen Anderson2007-09-111-1/+1
| | | | llvm-svn: 41833
* Remove an un-needed dependence query. This improves compile time marginally ↵Owen Anderson2007-09-091-9/+10
| | | | | | on 401.bzip2. llvm-svn: 41792
* Add lengthof and endof templates that hide a lot of sizeof computations.Owen Anderson2007-09-071-5/+4
| | | | | | Patch by Sterling Stein! llvm-svn: 41758
* Next round of APFloat changes.Dale Johannesen2007-09-062-15/+43
| | | | | | | | | | | | | | Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
* Missing break. Patch by Wojciech Matyjewicz.Evan Cheng2007-09-051-0/+1
| | | | llvm-svn: 41727
* Use SmallVector.Devang Patel2007-08-211-3/+3
| | | | llvm-svn: 41230
* No need to hardcode SmallVector size.Devang Patel2007-08-211-3/+3
| | | | llvm-svn: 41228
* Use SmallVector instead of std::vector.Devang Patel2007-08-212-5/+5
| | | | llvm-svn: 41207
* - Use correct header for SCEV inside LoopPass.cppAnton Korobeynikov2007-08-202-1/+13
| | | | | | - Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug llvm-svn: 41197
* Cache non-local memory dependence analysis. This is a significant compileOwen Anderson2007-08-161-2/+22
| | | | | | time performance win in most cases. llvm-svn: 41126
* constant fold ptrtoint(inttoptr) with target data when available. This allowsChris Lattner2007-08-111-2/+17
| | | | | | | | | | us to fold the entry block of PR1602 to false instead of: br i1 icmp eq (i32 and (i32 ptrtoint (void (%struct.S*)* inttoptr (i64 1 to void (%struct.S*)*) to i32), i32 1), i32 0), label %cond_next, label %cond_true llvm-svn: 41023
* Do not overuse std::string. Pass around char * directly.Devang Patel2007-08-101-1/+1
| | | | llvm-svn: 41001
* Make NonLocal and None const in the right way. :-)Owen Anderson2007-08-091-18/+16
| | | | llvm-svn: 40961
* Add more comments to memdep.Owen Anderson2007-08-081-1/+27
| | | | llvm-svn: 40953
* Make memdep fit in 80 cols.Owen Anderson2007-08-081-15/+26
| | | | llvm-svn: 40950
* Change the None and NonLocal markers in memdep to be const.Owen Anderson2007-08-081-16/+16
| | | | llvm-svn: 40946
* Handle functions with no name better.Chris Lattner2007-08-081-1/+2
| | | | llvm-svn: 40926
* significantly speed up constant folding of calls (and thus all clients that useChris Lattner2007-08-081-94/+131
| | | | | | | | ConstantFoldInstruction on calls) by avoiding Value::getName(). getName() constructs and returns an std::string, which does heap allocation stuff. This slightly speeds up instcombine. llvm-svn: 40924
* reimplement dfs number computation to be significantly faster. This speeds upChris Lattner2007-08-081-9/+3
| | | | | | | natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. llvm-svn: 40920
* Clean up a bunch of caching stuff in memdep. This reduces the time to run GVNOwen Anderson2007-08-071-25/+38
| | | | | | on 403.gcc from ~15s to ~10s. llvm-svn: 40884
OpenPOWER on IntegriCloud