Skip to content
  1. Sep 03, 2010
  2. Aug 19, 2010
  3. May 24, 2010
  4. Apr 17, 2010
    • Dan Gohman's avatar
      Use const qualifiers with TargetLowering. This eliminates several · 21cea8ac
      Dan Gohman authored
      const_casts, and it reinforces the design of the Target classes being
      immutable.
      
      SelectionDAGISel::IsLegalToFold is now a static member function, because
      PIC16 uses it in an unconventional way. There is more room for API
      cleanup here.
      
      And PIC16's AsmPrinter no longer uses TargetLowering.
      
      llvm-svn: 101635
      21cea8ac
  5. Mar 02, 2010
    • Chris Lattner's avatar
      Sink InstructionSelect() out of each target into SDISel, and rename it · f98f124a
      Chris Lattner authored
      DoInstructionSelection.  Inline "SelectRoot" into it from DAGISelHeader.
      Sink some other stuff out of DAGISelHeader into SDISel.
      
      Eliminate the various 'Indent' stuff from various targets, which dates
      to when isel was recursive.
      
       17 files changed, 114 insertions(+), 430 deletions(-)
      
      llvm-svn: 97555
      f98f124a
  6. Feb 09, 2010
  7. Feb 01, 2010
  8. Jan 19, 2010
  9. Jan 05, 2010
  10. Nov 25, 2009
  11. Nov 19, 2009
  12. Nov 16, 2009
  13. Nov 13, 2009
  14. Nov 05, 2009
  15. Oct 25, 2009
  16. Sep 25, 2009
  17. Sep 01, 2009
    • Bruno Cardoso Lopes's avatar
      Reapply 80278 · 0f20a5b3
      Bruno Cardoso Lopes authored
      Add MO flags to simplify the printing of relocations.
      Remove the support for printing large code model relocs (which
      aren't supported anyway).
      
      llvm-svn: 80691
      0f20a5b3
  18. Aug 27, 2009
  19. Aug 23, 2009
  20. Aug 11, 2009
  21. Aug 01, 2009
  22. Jul 08, 2009
  23. Jun 03, 2009
    • Dan Gohman's avatar
      Convert Alpha and Mips to use a MachineFunctionInfo subclass to · d5ca7064
      Dan Gohman authored
      carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This
      eliminates the need for them to search through the
      MachineRegisterInfo livein list in order to identify these
      virtual registers. EmitLiveInCopies is now the only user of the
      virtual register portion of MachineRegisterInfo's livein data.
      
      llvm-svn: 72802
      d5ca7064
  24. Jun 02, 2009
  25. Feb 05, 2009
  26. Jan 15, 2009
    • Dan Gohman's avatar
      Move a few containers out of ScheduleDAGInstrs::BuildSchedGraph · 619ef48a
      Dan Gohman authored
      and into the ScheduleDAGInstrs class, so that they don't get
      destructed and re-constructed for each block. This fixes a
      compile-time hot spot in the post-pass scheduler.
      
      To help facilitate this, tidy and do some minor reorganization
      in the scheduler constructor functions.
      
      llvm-svn: 62275
      619ef48a
  27. Dec 14, 2008
  28. Nov 05, 2008
    • Dan Gohman's avatar
      Eliminate the ISel priority queue, which used the topological order for a · f14b77eb
      Dan Gohman authored
      priority function. Instead, just iterate over the AllNodes list, which is
      already in topological order. This eliminates a fair amount of bookkeeping,
      and speeds up the isel phase by about 15% on many testcases.
      
      The impact on most targets is that AddToISelQueue calls can be simply removed.
      
      In the x86 target, there are two additional notable changes.
      
      The rule-bending AND+SHIFT optimization in MatchAddress that creates new
      pre-isel nodes during isel is now a little more verbose, but more robust.
      Instead of either creating an invalid DAG or creating an invalid topological
      sort, as it has historically done, it can now just insert the new nodes into
      the node list at a position where they will be consistent with the topological
      ordering.
      
      Also, the address-matching code has logic that checked to see if a node was
      "already selected". However, when a node is selected, it has all its uses
      taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any
      further visits from MatchAddress. This code is now removed.
      
      llvm-svn: 58748
      f14b77eb
  29. Oct 27, 2008
    • David Greene's avatar
      · ce2a9381
      David Greene authored
      Have TableGen emit setSubgraphColor calls under control of a -gen-debug
      flag.  Then in a debugger developers can set breakpoints at these calls
      to see waht is about to be selected and what the resulting subgraph
      looks like.  This really helps when debugging instruction selection.
      
      llvm-svn: 58278
      ce2a9381
  30. Oct 16, 2008
  31. Oct 03, 2008
    • Dan Gohman's avatar
      Avoid creating two TargetLowering objects for each target. · 2c836cf1
      Dan Gohman authored
      Instead, just create one, and make sure everything that needs
      it can access it. Previously most of the SelectionDAGISel
      subclasses all had their own TargetLowering object, which was
      redundant with the TargetLowering object in the TargetMachine
      subclasses, except on Sparc, where SparcTargetMachine
      didn't have a TargetLowering object. Change Sparc to work
      more like the other targets here.
      
      llvm-svn: 57016
      2c836cf1
  32. Sep 16, 2008
Loading