Skip to content
  1. Jun 02, 2011
  2. May 26, 2011
  3. May 25, 2011
  4. May 24, 2011
  5. May 23, 2011
    • Akira Hatanaka's avatar
      Change StackDirection from StackGrowsUp to StackGrowsDown. · f9e5750f
      Akira Hatanaka authored
      The following improvements are accomplished as a result of applying this patch:
      - Fixed frame objects' offsets (relative to either the virtual frame pointer or
        the stack pointer) are set before instruction selection is completed. There is
        no need to wait until Prologue/Epilogue Insertion is run to set them.
      - Calculation of final offsets of fixed frame objects is straightforward. It is
        no longer necessary to assign negative offsets to fixed objects for incoming
        arguments in order to distinguish them from the others.
      - Since a fixed object has its relative offset set during instruction
        selection, there is no need to conservatively set its alignment to 4.
      - It is no longer necessary to reorder non-fixed frame objects in 
        MipsFrameLowering::adjustMipsStackFrame.
      
      llvm-svn: 131915
      f9e5750f
  6. May 21, 2011
  7. May 20, 2011
  8. Apr 15, 2011
  9. Apr 07, 2011
  10. Mar 04, 2011
  11. Jan 18, 2011
  12. Jan 13, 2011
  13. Jan 10, 2011
  14. Nov 18, 2010
  15. Nov 15, 2010
  16. Aug 27, 2010
  17. Jun 02, 2010
  18. May 14, 2010
  19. Apr 21, 2010
  20. Apr 02, 2010
  21. Mar 09, 2010
  22. Feb 01, 2010
  23. Jan 20, 2010
  24. Nov 25, 2009
  25. Nov 12, 2009
    • David Greene's avatar
      · 1fbe0544
      David Greene authored
      Add a bool flag to StackObjects telling whether they reference spill
      slots.  The AsmPrinter will use this information to determine whether to
      print a spill/reload comment.
      
      Remove default argument values.  It's too easy to pass a wrong argument
      value when multiple arguments have default values.  Make everything
      explicit to trap bugs early.
      
      Update all targets to adhere to the new interfaces..
      
      llvm-svn: 87022
      1fbe0544
  26. Nov 09, 2009
  27. 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
  28. Aug 23, 2009
  29. Aug 13, 2009
  30. Aug 05, 2009
    • 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
  31. Jul 25, 2009
    • Daniel Dunbar's avatar
      More migration to raw_ostream, the water has dried up around the iostream hole. · 0dd5e1ed
      Daniel Dunbar authored
       - Some clients which used DOUT have moved to DEBUG. We are deprecating the
         "magic" DOUT behavior which avoided calling printing functions when the
         statement was disabled. In addition to being unnecessary magic, it had the
         downside of leaving code in -Asserts builds, and of hiding potentially
         unnecessary computations.
      
      llvm-svn: 77019
      0dd5e1ed
  32. Jul 14, 2009
  33. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
Loading