Skip to content
  1. Mar 07, 2012
  2. Feb 22, 2012
    • Andrew Trick's avatar
      Initialize SUnits before DAG building. · 46cc9a4a
      Andrew Trick authored
      Affect on SD scheduling and postRA scheduling:
      Printing the DAG will display the nodes in top-down topological order.
      This matches the order within the MBB and makes my life much easier in general.
      
      Affect on misched:
      We don't need to track virtual register uses at all. This is awesome.
      I also intend to rely on the SUnit ID as a topo-sort index. So if A < B then we cannot have an edge B -> A.
      
      llvm-svn: 151135
      46cc9a4a
  3. Feb 17, 2012
  4. Feb 15, 2012
  5. Feb 10, 2012
    • Andrew Trick's avatar
      RegAlloc superpass: includes phi elimination, coalescing, and scheduling. · d3f8fe81
      Andrew Trick authored
      Creates a configurable regalloc pipeline.
      
      Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa.
      
      When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>.
      
      CodeGen transformation passes are never "required" as an analysis
      
      ProcessImplicitDefs does not require LiveVariables.
      
      We have a plan to massively simplify some of the early passes within the regalloc superpass.
      
      llvm-svn: 150226
      d3f8fe81
  6. Feb 09, 2012
  7. Feb 08, 2012
  8. Jan 27, 2012
  9. Jan 17, 2012
  10. Jan 14, 2012
  11. Jan 13, 2012
Loading