Changes between Version 13 and Version 14 of Commentary/Compiler/Backends/NCG/RegisterAllocator


Ignore:
Timestamp:
Sep 18, 2007 4:30:16 PM (7 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/Backends/NCG/RegisterAllocator

    v13 v14  
    8383  }}} 
    8484 
    85  * Graphviz 
     85 * '''Visualisation of conflict graphs'''[[BR]] 
     86   Graphviz, available from [http://www.graphviz.org] can be used to make nice visualisations of the register conflict graphs. Use {{{-ddump-asm-regalloc-stages}}}, and copy one of the graphs into a new file {{{niceGraph.dot}}} 
     87 
     88  {{{  
     89  graphviz/bin/circo -Tpng -o niceGraph.png  
     90  }}} 
     91 
    8692 
    8793 * checkSpills 
     
    9298 
    9399 * '''Work lists for iterative coalescing.'''[[BR]] 
    94    The iterative coalescing alternates between scanning the graph for trivially colorable (triv) nodes and perforing coalescing. When two nodes are coalesced, other nodes that are not adjacent to the coalesced nodes do not change and do not need to be rescanned straight away. Runtime performance of the iterative coalescer could probably be improved by keeping a work-list of "nodes that might have become trivially colorable", to help rescanning nodes that won't have changed. 
     100   The iterative coalescing alternates between scanning the graph for trivially colorable (triv) nodes and perforing coalescing. When two nodes are coalesced, other nodes that are not adjacent to the coalesced nodes do not change and do not need to be rescanned straight away. Runtime performance of the iterative coalescer could probably be improved by keeping a work-list of "nodes that might have become trivially colorable", to help find nodes that won't have changed. 
    95101 
    96102 * '''Improve spill code generator/cleaner.'''[[BR]]