Skip to content
  1. May 13, 2013
    • Rafael Espindola's avatar
      Remove the MachineMove class. · 227144c2
      Rafael Espindola authored
      It was just a less powerful and more confusing version of
      MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
      dwarf register numbers, calls to getDwarfRegNum are pushed out, which
      should allow further simplifications.
      
      I left the MachineModuleInfo::addFrameMove interface unchanged since
      this patch was already fairly big.
      
      llvm-svn: 181680
      227144c2
  2. May 11, 2013
  3. May 10, 2013
  4. May 09, 2013
  5. May 08, 2013
  6. May 07, 2013
  7. May 06, 2013
  8. May 05, 2013
  9. May 02, 2013
  10. May 01, 2013
  11. Apr 30, 2013
    • Hal Finkel's avatar
      LocalStackSlotAllocation improvements · 7153251a
      Hal Finkel authored
      First, taking advantage of the fact that the virtual base registers are allocated in order of the local frame offsets, remove the quadratic register-searching behavior. Because of the ordering, we only need to check the last virtual base register created.
      
      Second, store the frame index in the FrameRef structure, and get the frame index and the local offset from this structure at the top of the loop iteration. This allows us to de-nest the loops in insertFrameReferenceRegisters (and I think makes the code cleaner). I also moved the needsFrameBaseReg check into the first loop over instructions so that we don't bother pushing FrameRefs for instructions that don't want a virtual base register anyway.
      
      Lastly, and this is the only functionality change, avoid the creation of single-use virtual base registers. These are currently not useful because, in general, they end up replacing what would be one r+r instruction with an add and a r+i instruction. Committing this removes the XFAIL in CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
      
      Jim has okayed this off-list.
      
      llvm-svn: 180799
      7153251a
    • Bill Wendling's avatar
      Emit the TLS initialization function pointers into the correct section. · fb7e32eb
      Bill Wendling authored
      The `llvm.tls_init_funcs' (created by the front-end) holds pointers to the TLS
      initialization functions. These need to be placed into the correct section so
      that they are run before `main()'.
      
      <rdar://problem/13733006>
      
      llvm-svn: 180737
      fb7e32eb
  12. Apr 27, 2013
    • Andrew Trick's avatar
      Generalize the MachineTraceMetrics public API. · 85058af6
      Andrew Trick authored
      Naturally, we should be able to pass in extra instructions, not just
      extra blocks.
      
      llvm-svn: 180667
      85058af6
    • Eric Christopher's avatar
      Use the target triple from the target machine rather than the module · 203e12bf
      Eric Christopher authored
      to determine whether or not we're on a darwin platform for debug code
      emitting.
      
      Solves the problem of a module with no triple on the command line
      and no triple in the module using non-gdb ok features on darwin. Fix
      up the member-pointers test to check the correct things for cross
      platform (DW_FORM_flag is a good prefix).
      
      Unfortunately no testcase because I have no ideas how to test something
      without a triple and without a triple in the module yet check
      precisely on two platforms. Ideas welcome.
      
      llvm-svn: 180660
      203e12bf
Loading