| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Shadow nodes now don't explicitly know their parent.
llvm-svn: 2083
|
|
|
|
|
|
| |
by the call node noncritical before the call is destroyed.
llvm-svn: 2082
|
|
|
|
| |
llvm-svn: 2081
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 2079
|
|
|
|
|
|
| |
2. Fix type used for TmpInstruction holding the return address.
llvm-svn: 2075
|
|
|
|
|
|
| |
for that value.
llvm-svn: 2074
|
|
|
|
|
|
|
| |
fix related to putting a read-write variable in a read-only section,
but I'm not sure now.
llvm-svn: 2073
|
|
|
|
| |
llvm-svn: 2071
|
|
|
|
| |
llvm-svn: 2070
|
|
|
|
| |
llvm-svn: 2069
|
|
|
|
|
|
|
| |
be marked as having a Call Interference, even though it may not
be live after the call.
llvm-svn: 2068
|
|
|
|
| |
llvm-svn: 2066
|
|
|
|
|
|
|
| |
a memory leak)
* Fix memory leak of Argument nodes on function prototypes
llvm-svn: 2065
|
|
|
|
|
|
|
| |
someplace nicer in the file though.
* Add new dump method for debugging
llvm-svn: 2064
|
|
|
|
| |
llvm-svn: 2063
|
|
|
|
|
|
|
| |
* Implement a new form of node folding to catch cases missed in Addtree
* Add removeIndistinguishableNodePairs to merge calls (todo) and globals
llvm-svn: 2062
|
|
|
|
|
|
|
|
| |
doesn't resort!
* Be more generous with the cached matches that we allow now.
* Recursive calls should all work now!
llvm-svn: 2061
|
|
|
|
| |
llvm-svn: 2059
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
the graph can be passed around.
llvm-svn: 2053
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* Implement a check to make sure a function is not internal and external
at the same time
llvm-svn: 2050
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 2048
|
|
|
|
| |
llvm-svn: 2045
|
|
|
|
|
|
| |
Next step is to start hacking functions up.
llvm-svn: 2044
|
|
|
|
| |
llvm-svn: 2043
|
|
|
|
| |
llvm-svn: 2040
|
|
|
|
|
|
| |
destruction of the pools.
llvm-svn: 2039
|
|
|
|
| |
llvm-svn: 2038
|
|
|
|
| |
llvm-svn: 2037
|
|
|
|
| |
llvm-svn: 2036
|
|
|
|
| |
llvm-svn: 2035
|
|
|
|
| |
llvm-svn: 2034
|
|
|
|
| |
llvm-svn: 2033
|
|
|
|
| |
llvm-svn: 2032
|
|
|
|
| |
llvm-svn: 2031
|
|
|
|
| |
llvm-svn: 2030
|
|
|
|
| |
llvm-svn: 2029
|
|
|
|
| |
llvm-svn: 2028
|
|
|
|
|
|
| |
we had a reasonable pass system
llvm-svn: 2022
|
|
|
|
| |
llvm-svn: 2021
|
|
|
|
|
|
|
|
| |
to reflect that they can eliminate arbitrary nodes.
* Rename the ShadowNodeEliminate.cpp file to EliminateNodes.cpp for the
same reason
llvm-svn: 2020
|
|
|
|
|
|
| |
ALL allocation nodes... hrm... bad.
llvm-svn: 2018
|
|
|
|
| |
llvm-svn: 2014
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* rename constructor function
* Move stuff into anonymous namespaces
llvm-svn: 2007
|
|
|
|
| |
llvm-svn: 2005
|
|
|
|
|
|
|
|
|
| |
* 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
|