Skip to content
  1. 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
  2. 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
  3. Feb 09, 2010
  4. Feb 01, 2010
  5. Jan 19, 2010
  6. Jan 05, 2010
  7. Nov 25, 2009
  8. Nov 19, 2009
  9. Nov 16, 2009
  10. Nov 13, 2009
  11. Nov 05, 2009
  12. Oct 25, 2009
  13. Sep 25, 2009
  14. 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
  15. Aug 27, 2009
  16. Aug 23, 2009
  17. Aug 11, 2009
  18. Aug 01, 2009
  19. Jul 08, 2009
  20. 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
  21. Jun 02, 2009
  22. Feb 05, 2009
  23. 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
  24. Dec 14, 2008
  25. 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
  26. 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
  27. Oct 16, 2008
  28. 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
  29. Sep 16, 2008
  30. Sep 12, 2008
  31. Aug 28, 2008
  32. Aug 23, 2008
    • Dan Gohman's avatar
      Move the point at which FastISel taps into the SelectionDAGISel · eb0cee91
      Dan Gohman authored
      process up to a higher level. This allows FastISel to leverage
      more of SelectionDAGISel's infastructure, such as updating Machine
      PHI nodes.
      
      Also, implement transitioning from SDISel back to FastISel in
      the middle of a block, so it's now possible to go back and
      forth. This allows FastISel to hand individual CallInsts and other
      complicated things off to SDISel to handle, while handling the rest
      of the block itself.
      
      To help support this, reorganize the SelectionDAG class so that it
      is allocated once and reused throughout a function, instead of
      being completely reallocated for each block.
      
      llvm-svn: 55219
      eb0cee91
Loading