summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-7/+7
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92042
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-7/+7
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92040
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-1/+2
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92039
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-5/+5
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92037
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-5/+5
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92035
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-2/+3
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92034
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-56/+56
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92033
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-32/+33
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92032
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-3/+4
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92029
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-22/+23
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92026
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-16/+17
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92024
* The phi translated pointer can be computed when returning a partially cached ↵Chris Lattner2009-12-221-19/+21
| | | | | | | | | | result instead of stored. This reduces memdep memory usage, and also eliminates a bunch of weakvh's. This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x) on a different machine than earlier. llvm-svn: 91885
* avoid calling extractMallocCall when it's obvious we don't haveChris Lattner2009-12-221-1/+2
| | | | | | a call. This speeds up memdep ~1.5% llvm-svn: 91869
* fix an overly conservative caching issue that caused memdep toChris Lattner2009-12-191-32/+8
| | | | | | | | cache a pointer as being unavailable due to phi trans in the wrong place. This would cause later queries to fail even when they didn't involve phi trans. llvm-svn: 91787
* Fix a spello in a comment that Nick spotted.Dan Gohman2009-12-191-2/+2
| | | | llvm-svn: 91742
* Eliminate unnecessary LLVMContexts.Dan Gohman2009-12-181-2/+1
| | | | llvm-svn: 91729
* Make this comment more precise.Dan Gohman2009-12-181-1/+1
| | | | llvm-svn: 91722
* Revert this use of NUW/NSW also. Overflow-undefined multiplication isn'tDan Gohman2009-12-181-3/+6
| | | | | | associative either. llvm-svn: 91701
* Revert this use of NSW; this one isn't actually safe. NSW additionDan Gohman2009-12-181-4/+2
| | | | | | is not reassociative. llvm-svn: 91667
* Delete an unused variable.Dan Gohman2009-12-181-1/+0
| | | | llvm-svn: 91659
* Preserve NSW information in more places.Dan Gohman2009-12-181-8/+19
| | | | llvm-svn: 91656
* Add Loop contains utility methods for testing whether a loopDan Gohman2009-12-183-9/+9
| | | | | | | | contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. llvm-svn: 91654
* Whitespace cleanups.Dan Gohman2009-12-181-12/+12
| | | | llvm-svn: 91651
* Reapply LoopStrengthReduce and IVUsers cleanups, excluding the partDan Gohman2009-12-181-1/+2
| | | | | | | | of 91296 that caused trouble -- the Processed list needs to be preserved for the livetime of the pass, as AddUsersIfInteresting is called from other passes. llvm-svn: 91641
* Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently ↵Evan Cheng2009-12-171-3/+2
| | | | | | introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598
* Fix GetConstantStringInfo to not look into MDString (it works on Chris Lattner2009-12-152-15/+7
| | | | | | | real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. llvm-svn: 91444
* Add support to emit debug info for C++ namespaces.Devang Patel2009-12-151-0/+28
| | | | llvm-svn: 91440
* Remove isPod() from DenseMapInfo, splitting it out to its ownChris Lattner2009-12-151-2/+0
| | | | | | | | isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
* You can't use typedefs to declare template member specializations, andJohn McCall2009-12-151-35/+49
| | | | | | clang enforces it. llvm-svn: 91397
* Clear the Processed set when it is no longer used, and clear theDan Gohman2009-12-141-1/+2
| | | | | | IVUses list in releaseMemory(). llvm-svn: 91296
* Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so theDan Gohman2009-12-141-1/+1
| | | | | | condition was inverted when the code was converted to contains(). llvm-svn: 91295
* Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. TheDan Gohman2009-12-141-1/+1
| | | | | | former was just exposing a LoopInfoBase implementation detail. llvm-svn: 91286
* Make getUniqueExitBlocks's precondition assert more precise, toDan Gohman2009-12-111-3/+3
| | | | | | avoid spurious failures. This fixes PR5758. llvm-svn: 91147
* Reuse the Threshold value to size these containers because it'sDan Gohman2009-12-091-2/+2
| | | | | | currently somewhat convenient for them to have the same value. llvm-svn: 90980
* Add a minor optimization: if we haven't changed the operands of anChris Lattner2009-12-091-0/+4
| | | | | | | | | | add, there is no need to scan the world to find the same add again. This invalidates the previous testcase, which wasn't wonderful anyway, because it needed a run of instcombine to permute the use-lists in just the right way to before GVN was run (so it was really fragile). Not a big loss. llvm-svn: 90973
* fix PR5733, a case where we'd replace an add with a lexically identical Chris Lattner2009-12-091-1/+2
| | | | | | binary operator that wasn't an add. In this case, a xor. Whoops. llvm-svn: 90971
* enhance NonLocalDepEntry to keep the per-block phi translated addressChris Lattner2009-12-091-15/+17
| | | | | | of the query. llvm-svn: 90958
* change NonLocalDepEntry from being a typedef for an std::pair to be itsChris Lattner2009-12-091-53/+53
| | | | | | own small class. No functionality change. llvm-svn: 90956
* Switch GVN and memdep to use PHITransAddr, which correctly handlesChris Lattner2009-12-091-303/+34
| | | | | | | | | | | | | | | | | | | | | | | phi translation of complex expressions like &A[i+1]. This has the following benefits: 1. The phi translation logic is all contained in its own class with a strong interface and verification that it is self consistent. 2. The logic is more correct than before. Previously, if intermediate expressions got PHI translated, we'd miss the update and scan for the wrong pointers in predecessor blocks. @phi_trans2 is a testcase for this. 3. We have a lot less code in memdep. We can handle phi translation across blocks of things like @phi_trans3, which is pretty insane :). This patch should fix the miscompiles of 255.vortex, and I tested it with a bootstrap of llvm-gcc, llvm-test and dejagnu of course. llvm-svn: 90926
* fix a nasty variable that was shadowing the real CurBB but with the wrong value.Chris Lattner2009-12-091-1/+0
| | | | llvm-svn: 90920
* fix many input tracking bugs.Chris Lattner2009-12-091-33/+30
| | | | llvm-svn: 90915
* Fix a typo in a comment, and adjust SmallSet and SmallVector sizes,Dan Gohman2009-12-091-7/+7
| | | | | | that Chris noticed. llvm-svn: 90910
* fix PHI translation to take the PHI out of the instinputs set and addChris Lattner2009-12-091-9/+7
| | | | | | the translated value back to it if an instruction. llvm-svn: 90909
* instructions defined in CurBB may be intermediate nodes of the computation.Chris Lattner2009-12-091-14/+14
| | | | llvm-svn: 90908
* add dumping and sanity checking support.Chris Lattner2009-12-091-0/+69
| | | | llvm-svn: 90906
* Put a threshold on the number of users PointerMayBeCapturedDan Gohman2009-12-081-0/+16
| | | | | | | | | | | | examines; fall back to a conservative answer if there are more. This works around some several compile time problems resulting from BasicAliasAnalysis calling PointerMayBeCaptured. The value has been chosen arbitrarily. This fixes rdar://7438917 and may partially address PR5708. llvm-svn: 90905
* make sure that PHITransAddr keeps its 'InstInputs' list up toChris Lattner2009-12-081-3/+42
| | | | | | date when instsimplify kicks in. llvm-svn: 90901
* Revert 90858 90875 and 90805 for now.Devang Patel2009-12-081-28/+0
| | | | llvm-svn: 90898
* fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not Chris Lattner2009-12-081-3/+6
| | | | | | side-effect the current object. llvm-svn: 90837
* Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic()Victor Hernandez2009-12-071-6/+8
| | | | llvm-svn: 90807
OpenPOWER on IntegriCloud