Skip to content
  1. May 11, 2013
  2. May 10, 2013
  3. May 09, 2013
  4. May 08, 2013
  5. May 07, 2013
  6. May 06, 2013
  7. May 05, 2013
  8. May 02, 2013
  9. May 01, 2013
  10. 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
  11. 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
  12. Apr 26, 2013
    • Adrian Prantl's avatar
      Cleanup and document MachineLocation. · d4c0dd47
      Adrian Prantl authored
      Clarify documentation and API to make the difference between register and
      register-indirect addressed locations more explicit. Put in a comment
      to point out that with the current implementation we cannot specify
      a register-indirect location with offset 0 (a breg 0 in DWARF).
      No functionality change intended.
      
      rdar://problem/13658587
      
      llvm-svn: 180641
      d4c0dd47
    • Bill Wendling's avatar
      Micro-optimization · 55a9c97c
      Bill Wendling authored
      TLVs probably won't be as common as the other types of variables. Check for them
      last before defaulting to "DATA".
      
      llvm-svn: 180631
      55a9c97c
    • Silviu Baranga's avatar
      Re-write the address propagation code for pre-indexed loads/stores to take... · af7e8c36
      Silviu Baranga authored
      Re-write the address propagation code for pre-indexed loads/stores to take into account some previously misssed cases (PRE_DEC addressing mode, the offset and base address are swapped, etc). This should fix PR15581.
      
      llvm-svn: 180609
      af7e8c36
Loading