1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib
Vikram S. Adve d1a85b7860 Implement 2 important changes: (1) rematerialization from the globals graph,
and (2) faster inlining by cloning only reachable nodes.  In particular:
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes
    to clone the subgraph reachable from a set of root nodes, into the
    current graph, merging the global nodes into thos in the current graph.
    The TD pass now uses this for faster inlining, and so does the
    next function.
(2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the
    globals graph into the current graph in both BU and TD passes.
(3) `I' flags are removed from all nodes in the globals graph, because they
    are difficult to maintain correctly and are not needed anyway.
(4) Aux. function calls are only removed to the globals graph if they
    will never be resovled.  (This is what fixed gap.)  The immediate
    reason is that if we took these out of a function (and moved them to
    the globals graph) we would need to rematerialize these nodes into the
    function graph for every function in the BU pass.  The longer term
    problem is that we would need to find a way to remove them from the
    globals graph iff they have been resolved on all paths through the
    call graph.

llvm-svn: 7187
2003-07-16 21:36:31 +00:00
..
Analysis Implement 2 important changes: (1) rematerialization from the globals graph, 2003-07-16 21:36:31 +00:00
AsmParser The word separate' only has one e'. 2003-07-14 17:20:40 +00:00
Bytecode The word separate' only has one e'. 2003-07-14 17:20:40 +00:00
CodeGen Values stored in CallArgsDescriptor cannot be const. 2003-07-10 19:46:15 +00:00
CWriter Some beautification changes (tabs to spaces, removed extra blank lines); 2003-07-09 17:33:50 +00:00
ExecutionEngine Clean up my last checkin: code is easier to read and explains the differences in 2003-07-15 15:58:26 +00:00
Support The word separate' only has one e'. 2003-07-14 17:20:40 +00:00
Target Fixed the number translation scheme for the integer condition code registers: it 2003-07-16 20:30:40 +00:00
Transforms Trace loads and stores as they happen (stores were being 2003-07-11 21:57:43 +00:00
VMCore The word separate' only has one e'. 2003-07-14 17:20:40 +00:00
Makefile Merged in autoconf branch. This provides configuration via the autoconf 2003-06-30 21:59:07 +00:00