Skip to content
  1. Jul 03, 2013
  2. Jul 02, 2013
    • Eric Christopher's avatar
      Fix comment. · 9046f942
      Eric Christopher authored
      llvm-svn: 185480
      9046f942
    • Ulrich Weigand's avatar
      · 8b3d2266
      Ulrich Weigand authored
      [DebugInfo] Hold generic MCExpr in AddrPool
      
      This changes the AddrPool infrastructure to enable it to hold
      generic MCExpr expressions, not just MCSymbolRefExpr.
      
      This is in preparation for supporting debug info for TLS variables
      on PowerPC, where we need to describe the variable location using
      a more complex expression than just MCSymbolRefExpr.
      
      llvm-svn: 185459
      8b3d2266
    • Ulrich Weigand's avatar
      · 396ba8b4
      Ulrich Weigand authored
      [DebugInfo] Introduce DIEExpr variant of DIEValue to hold MCExpr values
      
      This partially reverts r185202 and restores DIELabel to hold plain
      MCSymbol references.  Instead, we add a new subclass DIEExpr of
      DIEValue that can hold generic MCExpr references.
      
      This is in preparation for supporting debug info for TLS variables
      on PowerPC, where we need to describe the variable location using
      a more complex expression than just MCSymbolRefExpr.
      
      llvm-svn: 185458
      396ba8b4
    • Rafael Espindola's avatar
      Remove address spaces from MC. · 64e1af8e
      Rafael Espindola authored
      This is dead code since PIC16 was removed in 2010. The result was an odd mix,
      where some parts would carefully pass it along and others would assert it was
      zero (most of the object streamer for example).
      
      llvm-svn: 185436
      64e1af8e
    • David Blaikie's avatar
      PR14728: DebugInfo: TLS variables with -gsplit-dwarf · 8466ca86
      David Blaikie authored
      llvm-svn: 185398
      8466ca86
  3. Jun 28, 2013
  4. Jun 25, 2013
  5. Jun 20, 2013
    • David Blaikie's avatar
      DebugInfo: don't use location lists when the location covers the whole function anyway · ea2605dc
      David Blaikie authored
      Fix up three tests - one that was relying on abbreviation number,
      another relying on a location list in this case (& testing raw asm,
      changed that to use dwarfdump on the debug_info now that that's where
      the location is), and another which was added in r184368 - exposing a
      bug in that fix that is exposed when we emit the location inline rather
      than through a location list. Fix that bug while I'm here.
      
      llvm-svn: 184387
      ea2605dc
  6. Jun 19, 2013
    • David Blaikie's avatar
      DebugInfo: PR14763/r183329 correct the location of indirect parameters · 81a4dc75
      David Blaikie authored
      We had been papering over a problem with location info for non-trivial
      types passed by value by emitting their type as references (this caused
      the debugger to interpret the location information correctly, but broke
      the type of the function). r183329 corrected the type information but
      lead to the debugger interpreting the pointer parameter as the value -
      the debug info describing the location needed an extra dereference.
      
      Use a new flag in DIVariable to add the extra indirection (either by
      promoting an existing DW_OP_reg (parameter passed in a register) to
      DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
      (parameter passed on the stack).
      
      llvm-svn: 184368
      81a4dc75
  7. Jun 16, 2013
    • 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
  8. Jun 07, 2013
  9. 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
  10. 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
  11. Jun 01, 2013
  12. May 30, 2013
  13. May 29, 2013
    • Manman Ren's avatar
      LTO+Debug Info: revert r182791. · 4213c39e
      Manman Ren authored
      Since the testing case uses ref_addr, which requires version 3+ to work,
      we will solve the dwarf version issue first.
      
      This patch also causes failures in one of the bots. I will update the patch
      accordingly in my next attempt.
      
      rdar://13926659
      
      llvm-svn: 182867
      4213c39e
  14. May 28, 2013
  15. May 21, 2013
  16. May 11, 2013
  17. May 08, 2013
  18. May 07, 2013
Loading