aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Add some methods that are useful for updating loop information.Chris Lattner2004-04-121-4/+86
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12871 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the call graph class to have TWO external nodes, making call graphChris Lattner2004-04-121-181/+22
| | | | | | | | SCC passes much more useful. In particular, this should fix the incredibly stupid missed inlining opportunities that the inliner suffered from. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12860 91177308-0d34-0410-b5e6-96231b3b80d8
* Hrm, operator new and new[] do not belong here. We should not CSE them! :)Chris Lattner2004-04-121-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12859 91177308-0d34-0410-b5e6-96231b3b80d8
* operator new & operator new[] do not kill any legal memory locations.Chris Lattner2004-04-111-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12833 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow clients to be more efficient.Chris Lattner2004-04-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12831 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a couple of more functions that cannot access memory (the intrinsics) andChris Lattner2004-04-101-0/+7
| | | | | | | don't write to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug Brian found.Chris Lattner2004-04-071-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12754 91177308-0d34-0410-b5e6-96231b3b80d8
* Sparc don't got not "sqrtl", bum bum bumChris Lattner2004-04-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12670 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill warnings during an optimized compile where assert() disappears.Misha Brukman2004-04-051-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12669 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR312 and IndVarsSimplify/2004-04-05-InvokeCastCrash.llxChris Lattner2004-04-051-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12668 91177308-0d34-0410-b5e6-96231b3b80d8
* Support getelementptr instructions which use uint's to index into structureChris Lattner2004-04-052-15/+37
| | | | | | | | types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement test/Regression/Transforms/GCSE/undefined_load.llChris Lattner2004-04-031-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12641 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a break in the default caseChris Lattner2004-04-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12639 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove obsolete filesChris Lattner2004-04-021-324/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12633 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment out debugging printoutsChris Lattner2004-04-021-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12623 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new analysisChris Lattner2004-04-021-0/+2482
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12619 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some new methodsChris Lattner2004-03-301-15/+87
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12539 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new itfChris Lattner2004-03-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12534 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor efficiency improvement, finegrainify namespacificationChris Lattner2004-03-251-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12517 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a HORRIBLY NASTY bug that caused siod to stop working last night.Chris Lattner2004-03-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12479 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some missing functions. Make sure to handle calls together in case theChris Lattner2004-03-162-3/+21
| | | | | | | client has another VN implementation that can VN calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427 91177308-0d34-0410-b5e6-96231b3b80d8
* Ok, the assertion was bogus. Calls that do not read/write memory should notChris Lattner2004-03-151-0/+6
| | | | | | | have an alias set, just like adds and subtracts don't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12422 91177308-0d34-0410-b5e6-96231b3b80d8
* This assertion is bogus now that calls do not necessarily read/write memoryChris Lattner2004-03-151-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12421 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement CSE of call instructions in the most trivial case. This implementsChris Lattner2004-03-151-11/+139
| | | | | | | GCSE/call_cse.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12419 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a minor bug, implementing GCSE/call_pure_function.llChris Lattner2004-03-151-3/+6
| | | | | | | Also, add some stuff I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't be COMPLETELY pessimistic in the face of function callsChris Lattner2004-03-151-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12413 91177308-0d34-0410-b5e6-96231b3b80d8
* Deinline some virtual methods, provide better mod/ref answers through theChris Lattner2004-03-151-5/+21
| | | | | | | use of the boolean queries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12410 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass through the boolean queriesChris Lattner2004-03-151-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12409 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach basicaa about some stdc functions.Chris Lattner2004-03-151-5/+100
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12408 91177308-0d34-0410-b5e6-96231b3b80d8
* DemoteRegToStack got moved from DemoteRegToStack.h to Local.hChris Lattner2004-03-141-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12368 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a tiny bug that caused an incorrect assertion failure poolallocatingChris Lattner2004-03-131-4/+6
| | | | | | | boxed-sim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12358 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner2004-03-131-5/+3
| | | | | | | Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a couple of minor problems. Because PHI nodes can use themselves, thisChris Lattner2004-03-121-4/+1
| | | | | | | could cause infinite loops. Also, getUnderlyingObject can return null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement mod/ref analysis for a trivial case where locals don't escape.Chris Lattner2004-03-121-0/+52
| | | | | | | | This comes up when you have a local array on the stack and you never pass the address of elements around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code to process CallSites (thanks to Chris).Misha Brukman2004-03-121-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12334 91177308-0d34-0410-b5e6-96231b3b80d8
* Evaluate ModRef information in addition to regular ol' pointer analysis.Misha Brukman2004-03-121-24/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12331 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement getModRefInfo() for DSA to calculate whether a function modifies orMisha Brukman2004-03-121-5/+39
| | | | | | | references a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12330 91177308-0d34-0410-b5e6-96231b3b80d8
* Make code more readable.Misha Brukman2004-03-122-70/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12305 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR284: [indvars] Induction variable analysis violates LLVM invariantsChris Lattner2004-03-101-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12275 91177308-0d34-0410-b5e6-96231b3b80d8
* implement new methodChris Lattner2004-03-091-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12264 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using edge profiling information as the basic source of profile infoChris Lattner2004-03-082-5/+73
| | | | | | | from using basic block counts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12242 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor implementationsChris Lattner2004-03-082-10/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8
* Import the trace class from the reoptimizerChris Lattner2004-03-081-0/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12236 91177308-0d34-0410-b5e6-96231b3b80d8
* If we have edge counts, we can produce block counts. I've verified thatChris Lattner2004-03-081-11/+67
| | | | | | | | using an edge profile to produce block counts gives the exact same numbers as using a block count directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12232 91177308-0d34-0410-b5e6-96231b3b80d8
* Add initial support for reading edge counts. This will be improved to enableChris Lattner2004-03-081-0/+29
| | | | | | | translation of edge counts into block/function counts when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12229 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug handling globals that are constants, but are still externalChris Lattner2004-03-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12208 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a minor bugChris Lattner2004-03-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12169 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build on Sparc.Misha Brukman2004-03-051-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12161 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in a previous checkin that broke 175.vprChris Lattner2004-03-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12128 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for strto* and v*printfChris Lattner2004-03-041-0/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12127 91177308-0d34-0410-b5e6-96231b3b80d8