summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Correctly clone the function with the extra argument types. Now we needChris Lattner2002-03-291-6/+74
| | | | | | | | | to modify the function next. This also properly recycles functions so that we don't get exponential code blowup in the common case. llvm-svn: 2049
* s/Method/FunctionChris Lattner2002-03-291-6/+6
| | | | llvm-svn: 2048
* New clone function routineChris Lattner2002-03-291-0/+90
| | | | llvm-svn: 2045
* Find out which calls in the function we need to transform and how.Chris Lattner2002-03-291-15/+189
| | | | | | Next step is to start hacking functions up. llvm-svn: 2044
* s/Method/FunctionChris Lattner2002-03-292-5/+5
| | | | llvm-svn: 2043
* Modularize code a bitChris Lattner2002-03-291-2/+25
| | | | llvm-svn: 2040
* Implement the first step of pool allocation - Creating, initialization, andChris Lattner2002-03-291-8/+82
| | | | | | destruction of the pools. llvm-svn: 2039
* Add an insert method to VAlueHolder to allow batch insertionChris Lattner2002-03-291-0/+30
| | | | llvm-svn: 2038
* Add new addTypeName method to Module classChris Lattner2002-03-291-0/+15
| | | | llvm-svn: 2037
* s/Method/FunctionChris Lattner2002-03-292-49/+49
| | | | llvm-svn: 2036
* s/Method/FunctionChris Lattner2002-03-296-29/+30
| | | | llvm-svn: 2035
* s/Method/FunctionChris Lattner2002-03-294-45/+46
| | | | llvm-svn: 2034
* Implement new getFunction and getOrInsertFunction methodsChris Lattner2002-03-291-0/+31
| | | | llvm-svn: 2033
* Simplify code a bit by using Module::getOrInsertFunctionChris Lattner2002-03-291-11/+2
| | | | llvm-svn: 2032
* Flesh out a bunch more code, print allocations that are poolable.Chris Lattner2002-03-291-10/+149
| | | | llvm-svn: 2031
* s/method/functionChris Lattner2002-03-291-30/+26
| | | | llvm-svn: 2030
* s/Method/Function/gChris Lattner2002-03-291-66/+65
| | | | llvm-svn: 2029
* Simplify code a lot by using the Module::getFunction & getOrInsertFunctionChris Lattner2002-03-291-46/+24
| | | | llvm-svn: 2028
* Remove the reduceApply functions they are obsolete things from the days beforeChris Lattner2002-03-281-16/+0
| | | | | | we had a reasonable pass system llvm-svn: 2022
* Implement getEscapingAllocations & getNonEscapingAllocationsChris Lattner2002-03-281-24/+61
| | | | llvm-svn: 2021
* * Rename UnlinkUndistinguishableShadowNodes & RemoveUnreachableShadowNodesChris Lattner2002-03-283-15/+16
| | | | | | | | to reflect that they can eliminate arbitrary nodes. * Rename the ShadowNodeEliminate.cpp file to EliminateNodes.cpp for the same reason llvm-svn: 2020
* Ooops, I did such a great job pruning nodes, that I accidentally deletedChris Lattner2002-03-281-1/+2
| | | | | | ALL allocation nodes... hrm... bad. llvm-svn: 2018
* Initial checkin of Noop pass that will be the pool allocatorChris Lattner2002-03-281-0/+33
| | | | llvm-svn: 2014
* Many changesChris Lattner2002-03-286-317/+386
| | | | | | | | | | | | | * Simplify a lot of the inlining stuff. There are still problems, but not many * Break up the Function representation to have a vector for every different node type so it is fast to find nodes of a particular flavor. * Do more intelligent merging of call values * Allow elimination of unreachable shadow and allocation nodes * Generalize indistinguishability testing to allow merging of identical calls. * Increase shadow node merging power llvm-svn: 2010
* * Move classes aroundCameron Buschardt2002-03-271-29/+36
| | | | | | | * rename constructor function * Move stuff into anonymous namespaces llvm-svn: 2007
* Implemented promote mem->reg pass.Cameron Buschardt2002-03-271-64/+286
| | | | llvm-svn: 2005
* * Add #define to enabled debug messagesChris Lattner2002-03-271-12/+15
| | | | | | | | | * Move removeEdgesTo to be a member of DSNode * Implement (but #ifdef out) the new, spiffier, method of determining shadow node equivalence. This cannot be enabled until more is implemented. llvm-svn: 2004
* * Implement DSNode::removeAllIncomingEdgesChris Lattner2002-03-271-6/+20
| | | | | | | | * Implement Critical Shadow node handling * Implement routines to determine whether an allocation node is a malloc or alloca llvm-svn: 2003
* * Add critical node supportChris Lattner2002-03-271-6/+20
| | | | | | * Optimize graph after building it. This should be unneccesary in the future llvm-svn: 2002
* * Destroy alloca nodes when a graph gets inlinedChris Lattner2002-03-271-2/+32
| | | | | | | * Add links to all subtrees when a shadow node gets resolved * Add critical node handling llvm-svn: 2001
* * Optimizers return true on changeChris Lattner2002-03-271-9/+83
| | | | | | * Implement indistinguishable shadow node elimination llvm-svn: 1999
* Fix long lineChris Lattner2002-03-271-3/+5
| | | | llvm-svn: 1998
* * Because of optimization, the shadow nodes between arguments might getChris Lattner2002-03-271-13/+14
| | | | | | | removed. Check to see if they are there. * Repeat optimizations while changing llvm-svn: 1997
* Initial checkin of Datastructure analysis.Chris Lattner2002-03-267-0/+1329
| | | | | | Has bugs, but shouldn't crash in theory. llvm-svn: 1994
* Change from Method to FunctionChris Lattner2002-03-262-5/+4
| | | | llvm-svn: 1992
* Change references from Method to FunctionChris Lattner2002-03-2618-303/+307
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
* Convert to use new style casts instead of direct checkingChris Lattner2002-03-261-2/+2
| | | | llvm-svn: 1990
* change refs to Method to FunctionChris Lattner2002-03-263-18/+18
| | | | | | Change references to MEthodArgument to FunctionArgument llvm-svn: 1989
* Moved to directory Scalar/ and renamed.Vikram S. Adve2002-03-241-148/+0
| | | | llvm-svn: 1977
* Destroy MethodLiveVarInfo after register allocation.Vikram S. Adve2002-03-241-0/+1
| | | | llvm-svn: 1976
* Use deterministic iterator for SchedGraphs. This is actually notVikram S. Adve2002-03-241-24/+10
| | | | | | useful right now when we only do local scheduling. llvm-svn: 1975
* Bug fix: nextToTry was not being initialized in one case.Vikram S. Adve2002-03-241-3/+5
| | | | llvm-svn: 1974
* Add option to disable scheduling.Vikram S. Adve2002-03-241-0/+1
| | | | llvm-svn: 1973
* Add option to disable scheduling.Vikram S. Adve2002-03-241-39/+53
| | | | | | | | Destroy live-variable information after scheduling so it is recomputed before later phases (e.g., reg. allocation). Use deterministic iterator to enumerate sched graphs. llvm-svn: 1972
* Minor changes.Vikram S. Adve2002-03-241-7/+3
| | | | llvm-svn: 1971
* Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.Vikram S. Adve2002-03-241-4/+24
| | | | llvm-svn: 1970
* Fix padding for variables allocated on stack.Vikram S. Adve2002-03-241-13/+18
| | | | llvm-svn: 1969
* Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.Vikram S. Adve2002-03-241-10/+35
| | | | llvm-svn: 1968
* Use deterministic iterator for treeRoots.Vikram S. Adve2002-03-241-10/+10
| | | | llvm-svn: 1967
* Bug re-fix: put back MachineCodeForInstruction::get(*I).dropAllReferences().Vikram S. Adve2002-03-241-5/+8
| | | | | | Also re-enable instr. scheduling pass. llvm-svn: 1966
OpenPOWER on IntegriCloud