aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2002-04-04Add method to get # nodes in the graphChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2098 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04Make the release build workChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2097 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04Fix the release buildChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2096 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-04* Add dump() virtual function to AbstractType user to help track down bugsChris Lattner
* PATypeHolder is now a nontemplated class, because it was (almost) only ever instantiated with 'Type' as the parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2095 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Support resolving function arguments/return values to pointers that indexChris Lattner
into other objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2094 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Case numbers were not updated when Sparc.burg.in was changedVikram S. Adve
to add separate label for bitwise NOT operator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2091 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Move the PromoteMemoryToRegister pass to be run _after_ the raise pointerChris Lattner
references pass, so it is given the chance to do some good! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2089 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Add a new replaceWith method useful for replacing instructionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2088 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Allow scalars that point to multiple nodes when building the scalar map.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2087 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Add extra case here to avoid getting spurious outputChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2086 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Avoid incorrectly adding null values to the scalar map!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2085 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Critical shadow nodes no do not know their parent explictly.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2084 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Minor cleanups (use dyn_cast instead of testing manually)Chris Lattner
Shadow nodes now don't explicitly know their parent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2083 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Allow merging of identical call nodes. Make the shadow node pointed toChris Lattner
by the call node noncritical before the call is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2082 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Increase limit for perimeterChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2081 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01Shadow nodes don't need to know their explicit parent, they just need toChris Lattner
know what type to be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2080 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Unify the destruction code used for node pairs vs normal nodes. This wasChris Lattner
causing a problem before because global values with incoming edges didn't copy the incoming edges to the node they were being merged from, causing the poolalloc pass to die. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2079 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-311. Fix a leftover bug in generating memory instructions.Vikram S. Adve
2. Fix type used for TmpInstruction holding the return address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2075 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Added function getCallInstIndirectAddrVal() to set call interferenceVikram S. Adve
for that value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2074 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Minor cleanup in printing constants. I think this included a bugVikram S. Adve
fix related to putting a read-write variable in a read-only section, but I'm not sure now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2073 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Add method getCallInstIndirectAddrVal() to add call interferenceVikram S. Adve
for this value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2072 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Add method clearCallInterference().Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2071 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Include temp. values when computing max. size of stack frame!Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2070 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Fix a bug in previous bug fix.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2069 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Bug fix: address used by indirect call instruction should alsoVikram S. Adve
be marked as having a Call Interference, even though it may not be live after the call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2068 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Add debug outputChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31* Fix nondeleted type handle which could cause type pool corruption (andChris Lattner
a memory leak) * Fix memory leak of Argument nodes on function prototypes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2065 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31* Move the isEquivalentTo implementations here. They can probably be putChris Lattner
someplace nicer in the file though. * Add new dump method for debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2064 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Print out the instruction instead of just the address!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2063 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31* Move isEquivalentTo implementations to NodeImplChris Lattner
* Implement a new form of node folding to catch cases missed in Addtree * Add removeIndistinguishableNodePairs to merge calls (todo) and globals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31* Convert CallMap to be a vector, because the keys can change, and the mapChris Lattner
doesn't resort! * Be more generous with the cached matches that we allow now. * Recursive calls should all work now! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31* Allow access to DSNode iterator as DSNode::iterator/begin/endChris Lattner
* Add debugging "dump" method to DSNode * Fix bugs in DSNode iterator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2060 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-31Fix CreateUIntSetInstruction() to handle sign extensions correctly.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2059 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30* Catch and ignore (for now) return instructions in tranformed functionsChris Lattner
* 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30Initial checkin of file:Chris Lattner
Define an iterator to operate over data structure outgoing links and graph implementation so generic graph functions can be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2057 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30* Clean up data structures [AllocDSNode -> DSNode]Chris Lattner
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2056 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30Add accessors and a method to get all the outgoing links for ALL nodesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30Add an accessorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2054 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-30Maintain enough information so that the pools for all of the nodes ofChris Lattner
the graph can be passed around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2053 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Implement the first batch of transformations to the methods. So far it:Chris Lattner
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2052 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Add a hook to allow the datastructure to keep naturally up to date, evenChris Lattner
though it's not entirely fleshed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29* s/Method/FunctionChris Lattner
* Implement a check to make sure a function is not internal and external at the same time git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2050 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Correctly clone the function with the extra argument types. Now we needChris Lattner
to modify the function next. This also properly recycles functions so that we don't get exponential code blowup in the common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2049 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29s/Method/FunctionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2048 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Add more accessorsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2047 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Checkin new useful routineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2046 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29New clone function routineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2045 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Find out which calls in the function we need to transform and how.Chris Lattner
Next step is to start hacking functions up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2044 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29s/Method/FunctionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2043 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29Rename getCalledMethod to getCalledFunctionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2042 91177308-0d34-0410-b5e6-96231b3b80d8