summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Fix CreateUIntSetInstruction() to handle sign extensions correctly.Vikram S. Adve2002-03-311-7/+37
| | | | llvm-svn: 2059
* * Catch and ignore (for now) return instructions in tranformed functionsChris Lattner2002-03-301-31/+58
| | | | | | | | | | | * Add more debugging output * Fix problems refering to wrong versions of various graphs * Build the pool descriptor map! * Clear the nodemapping map after building pool descriptor to avoid assert * Transform the NEw function body, not the old one... * Matrix.ll now works! llvm-svn: 2058
* Initial checkin of file:Chris Lattner2002-03-302-0/+134
| | | | | | | Define an iterator to operate over data structure outgoing links and graph implementation so generic graph functions can be used. llvm-svn: 2057
* * Clean up data structures [AllocDSNode -> DSNode]Chris Lattner2002-03-301-74/+232
| | | | | | | | | | | | | * TransformFunctionInfo now has call field form field mapping. May be removed in the future. * Moved the computation of "Scalars" into transformFunctionBody so transformFunction didn't have to recompute it. * Implement the node mapping calculation in preparation to calculate PoolDescriptors to pass to transformFunctionBody * Print out the node mapping [it looks right!] * Other minor changes llvm-svn: 2056
* Add accessors and a method to get all the outgoing links for ALL nodesChris Lattner2002-03-301-0/+33
| | | | llvm-svn: 2055
* Add an accessorChris Lattner2002-03-301-1/+5
| | | | llvm-svn: 2054
* Maintain enough information so that the pools for all of the nodes ofChris Lattner2002-03-301-44/+66
| | | | | | the graph can be passed around. llvm-svn: 2053
* Implement the first batch of transformations to the methods. So far it:Chris Lattner2002-03-291-2/+172
| | | | | | | | | | | * Converts malloc instructions to poolalloc * Converts free instructions to poolfree * Convert calls to call the new cloned hacked up versions Note that this does not modify hacked up stuff yet, just the top level function llvm-svn: 2052
* Add a hook to allow the datastructure to keep naturally up to date, evenChris Lattner2002-03-291-0/+13
| | | | | | though it's not entirely fleshed out. llvm-svn: 2051
* * s/Method/FunctionChris Lattner2002-03-291-10/+14
| | | | | | | * Implement a check to make sure a function is not internal and external at the same time llvm-svn: 2050
* 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
* Add more accessorsChris Lattner2002-03-291-0/+8
| | | | llvm-svn: 2047
* Checkin new useful routineChris Lattner2002-03-291-0/+17
| | | | llvm-svn: 2046
* 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
* Rename getCalledMethod to getCalledFunctionChris Lattner2002-03-291-4/+4
| | | | llvm-svn: 2042
* Remove getCalledMethod. Use getCalledFunction insteadChris Lattner2002-03-291-4/+0
| | | | llvm-svn: 2041
* 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-292-0/+40
| | | | llvm-svn: 2038
* Add new addTypeName method to Module classChris Lattner2002-03-292-0/+21
| | | | llvm-svn: 2037
* s/Method/FunctionChris Lattner2002-03-292-49/+49
| | | | llvm-svn: 2036
* s/Method/FunctionChris Lattner2002-03-297-30/+31
| | | | llvm-svn: 2035
* s/Method/FunctionChris Lattner2002-03-297-55/+56
| | | | 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
* Expose more information to clientsChris Lattner2002-03-291-0/+9
| | | | llvm-svn: 2027
* Add getOrInsertFunction and getFunction methods to Module. This simplifiesChris Lattner2002-03-291-0/+11
| | | | | | some code in the transformations. llvm-svn: 2026
* Add #define for MethodTypeChris Lattner2002-03-291-0/+4
| | | | llvm-svn: 2025
* s/Method/Function/Chris Lattner2002-03-291-4/+4
| | | | llvm-svn: 2024
* Rename MethodType to FunctionType, provide a #defineChris Lattner2002-03-291-11/+14
| | | | llvm-svn: 2023
* Remove the reduceApply functions they are obsolete things from the days beforeChris Lattner2002-03-282-24/+0
| | | | | | we had a reasonable pass system llvm-svn: 2022
* Implement getEscapingAllocations & getNonEscapingAllocationsChris Lattner2002-03-282-26/+65
| | | | 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
* * Remove RemoveUnreachableShadowNodes & UnlinkUndistinguishableShadowNodesChris Lattner2002-03-281-3/+17
| | | | | | | | to reflect the fact that they actually operate on arbitrary nodes * Clean up public interface of FunctionDSGraph * add getEscapingAllocations & getNonEscapingAllocations llvm-svn: 2019
* 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
* Add subdirs to makefileChris Lattner2002-03-281-1/+1
| | | | llvm-svn: 2017
* Initial checkin of first regression test for mem2reg passChris Lattner2002-03-282-0/+23
| | | | llvm-svn: 2016
* Makefile change for IPO's that use the Datastructure analysis stuffChris Lattner2002-03-281-1/+1
| | | | llvm-svn: 2015
* Initial checkin of Noop pass that will be the pool allocatorChris Lattner2002-03-281-0/+33
| | | | llvm-svn: 2014
* Add hook for pool allocation passChris Lattner2002-03-281-2/+5
| | | | llvm-svn: 2013
* New file for new passChris Lattner2002-03-281-0/+15
| | | | llvm-svn: 2012
* Checking for CameronChris Lattner2002-03-281-1/+1
| | | | llvm-svn: 2011
* 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
OpenPOWER on IntegriCloud