Skip to content
  1. Oct 25, 2009
  2. Oct 07, 2009
    • Jim Grosbach's avatar
      Add register-reuse to frame-index register scavenging. When a target uses · fa14dd43
      Jim Grosbach authored
      a virtual register to eliminate a frame index, it can return that register
      and the constant stored there to PEI to track. When scavenging to allocate
      for those registers, PEI then tracks the last-used register and value, and
      if it is still available and matches the value for the next index, reuses
      the existing value rather and removes the re-materialization instructions.
      Fancier tracking and adjustment of scavenger allocations to keep more
      values live for longer is possible, but not yet implemented and would likely
      be better done via a different, less special-purpose, approach to the
      problem.
      
      eliminateFrameIndex() is modified so the target implementations can return
      the registers they wish to be tracked for reuse.
      
      ARM Thumb1 implements and utilizes the new mechanism. All other targets are
      simply modified to adjust for the changed eliminateFrameIndex() prototype.
      
      llvm-svn: 83467
      fa14dd43
  3. Oct 06, 2009
  4. Oct 01, 2009
  5. Sep 25, 2009
  6. Sep 19, 2009
  7. Sep 18, 2009
  8. Sep 15, 2009
  9. Sep 13, 2009
  10. Sep 10, 2009
    • Chris Lattner's avatar
      remove DebugLoc from MCInst and eliminate "Comment printing" from · 321bc99a
      Chris Lattner authored
      the MCInst path of the asmprinter.  Instead, pull comment printing
      out of the autogenerated asmprinter into each target that uses the
      autogenerated asmprinter.  This causes code duplication into each
      target, but in a way that will be easier to clean up later when more
      asmprinter stuff is commonized into the base AsmPrinter class.
      
      This also fixes an xcore strangeness where it inserted two tabs
      before every instruction.
      
      llvm-svn: 81396
      321bc99a
  11. Sep 09, 2009
    • Chris Lattner's avatar
      hoist the call to processDebugLoc out of the generated · 716a8c92
      Chris Lattner authored
      asm printer into the "printInstruction" routine.  This
      fixes a problem where the experimental asmprinter would
      drop debug labels in some cases, and fixes issues on ppc/xcore
      where pseudo instructions like "mr" didn't get debug locs properly.
      
      It is annoying that this moves the call from one place into each
      target, but a future set of more invasive refactorings will fix
      that problem.
      
      llvm-svn: 81377
      716a8c92
  12. Sep 08, 2009
  13. Sep 02, 2009
  14. Aug 31, 2009
  15. Aug 26, 2009
  16. Aug 23, 2009
  17. Aug 22, 2009
  18. Aug 19, 2009
  19. Aug 12, 2009
  20. Aug 11, 2009
  21. Aug 08, 2009
  22. Aug 07, 2009
  23. Aug 05, 2009
    • Devang Patel's avatar
      Remove dead code. MDNode and MDString are not Constant anymore. · 44c44178
      Devang Patel authored
      llvm-svn: 78207
      44c44178
    • Dan Gohman's avatar
      Major calling convention code refactoring. · f9bbcd1a
      Dan Gohman authored
      Instead of awkwardly encoding calling-convention information with ISD::CALL,
      ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
      provides three virtual functions for targets to override:
      LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
      lowering done on the special nodes. They provide the same information, but
      in a more immediately usable format.
      
      This also reworks much of the target-independent tail call logic. The
      decision of whether or not to perform a tail call is now cleanly split
      between target-independent portions, and the target dependent portion
      in IsEligibleForTailCallOptimization.
      
      This also synchronizes all in-tree targets, to help enable future
      refactoring and feature work.
      
      llvm-svn: 78142
      f9bbcd1a
  24. Aug 03, 2009
Loading