summaryrefslogtreecommitdiff
path: root/lib/Analysis
Commit message (Collapse)AuthorAge
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR885Chris Lattner2006-08-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29794 91177308-0d34-0410-b5e6-96231b3b80d8
* Make Loop::getExitBlocks significantly faster for large loops. Instead ofChris Lattner2006-08-12
| | | | | | | | | pounding on Loop::contains (which is O(n) in the size of the loop), use a sorted vector, which is O(log(N)) for each query. This speeds up Duraid's horrible testcase from ~72s to ~31s in a debug build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29645 91177308-0d34-0410-b5e6-96231b3b80d8
* Speed up Loop::isLCSSAForm by using a binary search and single-entry cache.Chris Lattner2006-08-02
| | | | | | | This reduces LCSSA pass time from 1.5s to 0.96s when run on eon in release+asserts mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29464 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the callgraph representation to store the callsite along with theChris Lattner2006-07-12
| | | | | | | | | | | | target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29120 91177308-0d34-0410-b5e6-96231b3b80d8
* It was pointed out that DEBUG() is only available with -debug.Jim Laskey2006-07-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29106 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure that dump calls that are associated with asserts are removed fromJim Laskey2006-07-11
| | | | | | | non-debug build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105 91177308-0d34-0410-b5e6-96231b3b80d8
* Use hidden visibility to make symbols in an anonymous namespace getChris Lattner2006-06-28
| | | | | | | dropped. This shrinks libllvmgcc.dylib another 67K git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975 91177308-0d34-0410-b5e6-96231b3b80d8
* add some missing externalsAndrew Lenharth2006-06-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28955 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle alias sets that have been unified, and thus can have other referencesChris Lattner2006-06-27
| | | | | | | to them. This fixes a regression in my previous checkin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28951 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't implement AliasSetTracker::remove in terms of deleteValue. deleteValueChris Lattner2006-06-27
| | | | | | | | | | causes the pointer to be removed from the underlying alias analysis implementation as well. This impl of remove is also significantly faster than the old one. This fixes: Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28950 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR801:Reid Spencer2006-06-27
| | | | | | | | | | Refactor the Graph writing code to use a common implementation which is now in lib/Support/GraphWriter.cpp. This completes the PR. Patch by Anton Korobeynikov. Thanks, Anton! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a stale pointer issue that caused 300.twolf to fail to build on zionChris Lattner2006-06-26
| | | | | | | last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28916 91177308-0d34-0410-b5e6-96231b3b80d8
* Do partial inlining in BU. This resolves more call sites. Also add options ↵Andrew Lenharth2006-06-19
| | | | | | to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug, don't drop indirect call sites, especially if there is nothing ↵Andrew Lenharth2006-06-19
| | | | | | known about them yet, and restore a simple version of a removed function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28857 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant fold sqrtfChris Lattner2006-06-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28853 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a error message to cbu to match buAndrew Lenharth2006-06-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28819 91177308-0d34-0410-b5e6-96231b3b80d8
* move headerAndrew Lenharth2006-06-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28818 91177308-0d34-0410-b5e6-96231b3b80d8
* Update isLCSSAForm to handle PHI nodes specially for live-out detection. ThisOwen Anderson2006-06-13
| | | | | | | is the same as the recent patch to LCSSA.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28773 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-commit the safe parts of my 6/9 patch. Still working on fixing the ↵Owen Anderson2006-06-11
| | | | | | unsafe parts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28748 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out Owen's 6/9 changes. They broke ↵Evan Cheng2006-06-11
| | | | | | MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28747 91177308-0d34-0410-b5e6-96231b3b80d8
* Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass ↵Owen Anderson2006-06-09
| | | | | | | | | assert on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28738 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR780:Reid Spencer2006-06-07
| | | | | | | | | | | 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR780:Reid Spencer2006-06-07
| | | | | | | | | | Break the "IncludeFile" mechanism into its own header file and adjust other files accordingly. Use this facility for the IntrinsicInst problem which was the subject of PR800. More to follow on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR798:Reid Spencer2006-06-05
| | | | | | | Add support for Graphviz. Patch contributed by Anton Korobeynikov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28684 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -pedantic warningChris Lattner2006-06-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28634 91177308-0d34-0410-b5e6-96231b3b80d8
* Change from using a stub function to a stub variable for passing to theReid Spencer2006-06-01
| | | | | | | | IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
* move calltarget to dsaAndrew Lenharth2006-05-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28546 91177308-0d34-0410-b5e6-96231b3b80d8
* Since there was interest on the mailing list, this is a utility pass thatAndrew Lenharth2006-05-29
| | | | | | | | | uses DSA to make find targets of calls. It provides a very convinient interface to DSA results to do things with indirect calls, such as write a devirtualizer (which I have and may commit one of these days). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28545 91177308-0d34-0410-b5e6-96231b3b80d8
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-24
| | | | | | | by Anton Korobeynikov! This is a step towards closing PR786. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead variableChris Lattner2006-05-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28249 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Transforms/IndVarsSimplify/complex-scev.ll, a case where we didn'tChris Lattner2006-04-26
| | | | | | | recognize some simple affine IV's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27982 91177308-0d34-0410-b5e6-96231b3b80d8
* slightly more useful error messageAndrew Lenharth2006-04-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27971 91177308-0d34-0410-b5e6-96231b3b80d8
* better c99 struct handlingAndrew Lenharth2006-04-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27970 91177308-0d34-0410-b5e6-96231b3b80d8
* Another simple case type merge case to tryAndrew Lenharth2006-04-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27831 91177308-0d34-0410-b5e6-96231b3b80d8
* deal with memchrAndrew Lenharth2006-04-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27830 91177308-0d34-0410-b5e6-96231b3b80d8
* friendlier error messageAndrew Lenharth2006-04-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27829 91177308-0d34-0410-b5e6-96231b3b80d8
* stupid stuffAndrew Lenharth2006-04-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27821 91177308-0d34-0410-b5e6-96231b3b80d8
* I understand now. Shoot.Andrew Lenharth2006-04-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27819 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm.memc* improvements. helps PA a lot in some specmarksAndrew Lenharth2006-04-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27812 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm.memc* improvements. helps PA a lot in some specmarksAndrew Lenharth2006-04-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27811 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement value #'ing for vector operations, implementingChris Lattner2006-04-14
| | | | | | | Regression/Transforms/GCSE/vectorops.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27691 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle some kernel code than ends in [0 x sbyte]. I think this is safeAndrew Lenharth2006-04-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27672 91177308-0d34-0410-b5e6-96231b3b80d8
* revert this, this is safe, if conservative. leave a note to that effectAndrew Lenharth2006-04-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27428 91177308-0d34-0410-b5e6-96231b3b80d8
* Signed shr by a constant is not the same as sdiv by 2^kChris Lattner2006-04-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27395 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll andChris Lattner2006-04-01
| | | | | | | | PR726 by performing consistent signed division, not consistent unsigned division when evaluating scev's. Do not touch udivs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27326 91177308-0d34-0410-b5e6-96231b3b80d8
* If adding a link to a collapsed, node, ignore offset.Andrew Lenharth2006-03-27
| | | | | | | Fixes 2006-03-27-LinkedCollapsed.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27194 91177308-0d34-0410-b5e6-96231b3b80d8
* no heap is happening hereAndrew Lenharth2006-03-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26781 91177308-0d34-0410-b5e6-96231b3b80d8
* remove qsort for nowAndrew Lenharth2006-03-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26779 91177308-0d34-0410-b5e6-96231b3b80d8
* allow field sensitivity to be a tunable parameterAndrew Lenharth2006-03-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26777 91177308-0d34-0410-b5e6-96231b3b80d8