summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Improve the accuracy of memdep for determining the dependencies of loads.Owen Anderson2007-08-061-2/+13
| | | | | | This brings GVN to parity with GCSE+LoadVN. llvm-svn: 40882
* This resolves a regression of BasicAA which failed to find any memory ↵Chandler Carruth2007-08-061-4/+23
| | | | | | information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search. llvm-svn: 40872
* Let scalar-evolution analyze loops with an unsigned comparison for the exitNick Lewycky2007-08-061-17/+35
| | | | | | condition. Fixes 1597. llvm-svn: 40867
* Don't assume it's safe to transform a loop just because it's dominated by anyNick Lewycky2007-08-061-1/+1
| | | | | | comparison. Fixes bug 1598. llvm-svn: 40866
* Upgrade BasicAliasAnalysis::getModRefBehavior to not call Value::getName,Chris Lattner2007-08-051-4/+14
| | | | | | | which dynamically allocates the string result. This speeds up dse on the testcase from PR1432 from 0.3781s to 0.1804s (2.1x). llvm-svn: 40838
* Fix an iterator invalidation bug I induced.Chris Lattner2007-08-051-2/+1
| | | | llvm-svn: 40830
* Switch some std::sets to SmallPtrSet. This speeds upChris Lattner2007-08-051-3/+3
| | | | | | domtree by 10% and postdomtree by 17% llvm-svn: 40829
* Switch the internal "Info" map from an std::map to a DenseMap. ThisChris Lattner2007-08-051-15/+12
| | | | | | | | speeds up idom by about 45% and postidom by about 33%. Some extra precautions must be taken not to invalidate densemap iterators. llvm-svn: 40827
OpenPOWER on IntegriCloud