|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | be 'Argument' instead of FunctionArgument.
llvm-svn: 2216 | 
| | 
| 
| 
| 
| 
| | in iOther.h
llvm-svn: 2209 | 
| | 
| 
| 
| | llvm-svn: 2207 | 
| | 
| 
| 
| | llvm-svn: 2174 | 
| | 
| 
| 
| 
| 
| | Shadow nodes are never critical.
llvm-svn: 2102 | 
| | 
| 
| 
| | llvm-svn: 2101 | 
| | 
| 
| 
| 
| 
| 
| | * Do not demand a shadow node when resolving
* Raise arbitrary inline limit
llvm-svn: 2100 | 
| | 
| 
| 
| 
| 
| | into other objects.
llvm-svn: 2094 | 
| | 
| 
| 
| | llvm-svn: 2085 | 
| | 
| 
| 
| | llvm-svn: 2084 | 
| | 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | 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: 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 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 Critical Shadow node handling
* Implement routines to determine whether an allocation node is a malloc
  or alloca
llvm-svn: 2003 | 
| | 
| 
| 
| 
| 
| | * Optimize graph after building it.  This should be unneccesary in the future
llvm-svn: 2002 | 
| | 
| 
| 
| 
| 
| 
| | * Add links to all subtrees when a shadow node gets resolved
* Add critical node handling
llvm-svn: 2001 | 
| | 
| 
| 
| 
| 
| | * Implement indistinguishable shadow node elimination
llvm-svn: 1999 | 
| | 
| 
| 
| | llvm-svn: 1998 | 
| | 
| 
| 
| 
| 
| 
| | removed.  Check to see if they are there.
* Repeat optimizations while changing
llvm-svn: 1997 | 
|  | Has bugs, but shouldn't crash in theory.
llvm-svn: 1994 |