summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* 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
* switch the DomTreeNodes and IDoms maps in idom/postidom to a Chris Lattner2007-08-041-4/+9
| | | | | | | | DenseMap instead of an std::map. This speeds up postdomtree by about 25% and domtree by about 23%. It also speeds up clients, for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%. llvm-svn: 40826
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-041-3/+3
| | | | | | | | LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
* Fix a bug that was causing several miscompilations on SPEC.Owen Anderson2007-08-021-3/+15
| | | | llvm-svn: 40746
* Implement review feedback.Christopher Lamb2007-08-021-4/+4
| | | | llvm-svn: 40745
* Teach BasicAA about noalias parameter attributes, but do it correctly this time.Christopher Lamb2007-08-021-1/+31
| | | | llvm-svn: 40711
* Make non-local memdep not be recursive, and fix a bug on 403.gcc that this ↵Owen Anderson2007-08-011-46/+45
| | | | | | exposed. llvm-svn: 40692
* More explicit keywords.Dan Gohman2007-08-012-2/+2
| | | | llvm-svn: 40673
* Fix GLIBCXX_DEBUG error owing to dereference of end iterator. There'sDavid Greene2007-07-311-26/+33
| | | | | | | no guarantee that an instruction returned by getDependency exists in the maps. llvm-svn: 40647
* Revert overly aggressive interpretation of noaliasChristopher Lamb2007-07-311-32/+1
| | | | llvm-svn: 40635
* Introduce Simple Analysis interface for loop passes.Devang Patel2007-07-311-0/+21
| | | | | | Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value. llvm-svn: 40625
* Teach BasicAA about noalias function parameters. Passes all of DejaGNU and ↵Christopher Lamb2007-07-311-1/+32
| | | | | | test-suite. llvm-svn: 40624
* Use more caching when computing non-local dependence. This makes bzip2 notOwen Anderson2007-07-301-0/+2
| | | | | | use up the entire 32-bit address space. llvm-svn: 40596
* Fix a bug introduced in my last commit.Owen Anderson2007-07-261-1/+7
| | | | llvm-svn: 40542
* Fix a couple more bugs in the phi construction by pulling in code that doesOwen Anderson2007-07-261-3/+0
| | | | | | almost the same things from LCSSA. llvm-svn: 40540
* Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.Owen Anderson2007-07-251-3/+12
| | | | llvm-svn: 40495
* Add basic support for performing whole-function RLE.Owen Anderson2007-07-251-35/+34
| | | | | | Note: This has not yet been thoroughly tested. Use at your own risk. llvm-svn: 40489
* Add initial support for non-local memory dependence analysis.Owen Anderson2007-07-241-6/+53
| | | | | | NOTE: This has only been cursorily tested. Expected improvements soon. llvm-svn: 40476
* Unreachable block is not a root node in post dominator tree.Devang Patel2007-07-241-2/+6
| | | | llvm-svn: 40458
* When removing instructions from the analysis, be sure to check the confirmedOwen Anderson2007-07-201-1/+2
| | | | | | flag when determining what to do with dependencies. llvm-svn: 40079
* Verify loop info.Devang Patel2007-07-193-16/+16
| | | | llvm-svn: 40062
* Replace mysterious code causing a g++-4.2 warningDuncan Sands2007-07-192-18/+9
| | | | | | with hopefully correct code that pleases g++-4.2. llvm-svn: 40051
* Add support for walking up memory def chains, which enables finding many moreOwen Anderson2007-07-161-18/+37
| | | | | | dead stores on 400.perlbench. llvm-svn: 39929
* Use ConstantFoldFP for folding all unary floating-point operations which mayDan Gohman2007-07-161-20/+25
| | | | | | | | | have an error, and refector out the code for binary operators into ConstantFoldBinaryFP and use it for all binary floating-point operations which may have an error. These functions still rely exclusively on errno to detect errors though. llvm-svn: 39923
* Fix comments about vectors to use the current wording.Dan Gohman2007-07-161-1/+1
| | | | llvm-svn: 39921
* Handle decrementing loops properly. Fixes PR1533.Nick Lewycky2007-07-161-15/+13
| | | | | | | | Always pass the constant as the second parameter to HowManyLessThans. Remove obsolete "isSigned" parameter. llvm-svn: 39893
* Let MemoryDependenceAnalysis take care of updating AliasAnalysis.Owen Anderson2007-07-121-0/+2
| | | | llvm-svn: 39769
OpenPOWER on IntegriCloud