Skip to content
  1. Jun 16, 2013
    • David Blaikie's avatar
      DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs · b735b4d6
      David Blaikie authored
      Frame index handling is now target-agnostic, so delete the target hooks
      for creation & asm printing of target-specific addressing in DBG_VALUEs
      and any related functions.
      
      llvm-svn: 184067
      b735b4d6
    • David Blaikie's avatar
      Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions · 0252265b
      David Blaikie authored
      Rather than using the full power of target-specific addressing modes in
      DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This
      reduces the complexity of debug info handling down to two
      representations of values (reg+offset and frame index+offset) rather
      than three or four.
      
      Ideally we could ensure that frame indicies had been eliminated by the
      time we reached an assembly or dwarf generation, but I haven't spent the
      time to figure out where the FIs are leaking through into that & whether
      there's a good place to convert them. Some FI+offset=>reg+offset
      conversion is done (see PrologEpilogInserter, for example) which is
      necessary for some SelectionDAG assumptions about registers, I believe,
      but it might be possible to make this a more thorough conversion &
      ensure there are no remaining FIs no matter how instruction selection
      is performed.
      
      llvm-svn: 184066
      0252265b
  2. Jun 15, 2013
  3. Jun 12, 2013
  4. Jun 11, 2013
  5. Jun 10, 2013
  6. Jun 07, 2013
  7. Jun 06, 2013
    • David Blaikie's avatar
      Debug Info: simplify parameter ordering preservation · 36d5d2f0
      David Blaikie authored
      Seems we emit the parameter ordering number (spuriously named 'arg
      number') in the debug info, so there's no need to search through the
      variable list to figure out the parameter ordering. This implementation
      does 'always' do the work, even in non-optimized debug info (the
      previous implementation checked the existence of the 'variables' list on
      the subprogram which is only present in optimized builds).
      
      No intended functionality change.
      
      llvm-svn: 183446
      36d5d2f0
  8. Jun 05, 2013
    • David Blaikie's avatar
      PR15662: Optimized debug info produces out of order function parameters · 6f1a8067
      David Blaikie authored
      When a function is inlined we lazily construct the variables
      representing the function's parameters. After that, we add any remaining
      unused parameters.
      
      If the function doesn't use all the parameters, or uses them out of
      order, then the DWARF would produce them in that order, producing a
      parameter order that doesn't match the source.
      
      This fix causes us to always keep the arg variables at the start of the
      variable list & in the original order from the source.
      
      llvm-svn: 183297
      6f1a8067
  9. Jun 01, 2013
  10. May 30, 2013
  11. May 29, 2013
  12. May 28, 2013
  13. May 23, 2013
    • David Blaikie's avatar
      Solidify the assumption that a DW_TAG_subprogram's type is a DW_TAG_subroutine_type · 5174c84a
      David Blaikie authored
      There were bits & pieces of code lying around that may've given the
      impression that debug info metadata supported the possibility that a
      subprogram's type could be specified by a non-subroutine type describing
      the return type of a void function. This support was incomplete &
      unnecessary. Asserts & API have been changed to make the desired usage
      more clear.
      
      llvm-svn: 182532
      5174c84a
  14. May 21, 2013
  15. May 14, 2013
  16. 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
  17. May 11, 2013
  18. May 10, 2013
  19. May 09, 2013
  20. May 08, 2013
  21. May 07, 2013
Loading