Skip to content
  1. Apr 22, 2013
  2. Apr 19, 2013
    • Eric Christopher's avatar
      Revert "PR14606: debug info imported_module support" · 0e89ade8
      Eric Christopher authored
      This reverts commit r179836 as it seems to have caused test failures.
      
      llvm-svn: 179840
      0e89ade8
    • David Blaikie's avatar
      PR14606: debug info imported_module support · 88564f3c
      David Blaikie authored
      Adding another CU-wide list, in this case of imported_modules (since they
      should be relatively rare, it seemed better to add a list where each element
      had a "context" value, rather than add a (usually empty) list to every scope).
      This takes care of DW_TAG_imported_module, but to fully address PR14606 we'll
      need to expand this to cover DW_TAG_imported_declaration too.
      
      llvm-svn: 179836
      88564f3c
  3. Apr 09, 2013
  4. Apr 07, 2013
  5. Apr 06, 2013
  6. Apr 05, 2013
    • Manman Ren's avatar
      Debug Info: revert 178722 for now. · bdcb4464
      Manman Ren authored
      There is a difference for FORM_ref_addr between DWARF 2 and DWARF 3+.
      Since Eric is against guarding DWARF 2 ref_addr with DarwinGDBCompat, we are
      still in discussion on how to handle this.
      
      The correct solution is to update our header to say version 4 instead of version
      2 and update tool chains as well.
      
      rdar://problem/13559431
      
      llvm-svn: 178806
      bdcb4464
  7. Apr 04, 2013
  8. Apr 03, 2013
  9. Mar 30, 2013
  10. Mar 29, 2013
  11. Mar 13, 2013
  12. Mar 12, 2013
    • Manman Ren's avatar
      Debug Info: use DW_FORM_ref_addr instead of DW_FORM_ref4 if the referenced DIE · 14a029d9
      Manman Ren authored
      belongs to a different compile unit.
      
      DW_FORM_ref_addr should be used for cross compile-unit reference.
      
      When compiling a large application, we got a dwarfdump verification error where
      abstract_origin points to nowhere.
      
      This error can't be reproduced on any testing case in MultiSource.
      We may have other cases where we use DW_FORM_ref4 unconditionally.
      
      rdar://problem/13370501
      
      llvm-svn: 176882
      14a029d9
    • David Blaikie's avatar
      Remove support for versioned debug info. · dc69ebb1
      David Blaikie authored
      Versioned debug info support has been a burden to maintain & also compromised
      current debug info verification by causing test cases testing old debug info to
      remain rather than being updated to the latest. It also makes it hard to add or
      change the metadata schema by requiring various backwards-compatibility in the
      DI* hierarchy.
      
      So it's being removed in preparation for new changes to the schema to tidy up
      old/unnecessary fields and add new fields needed for new debug info (well, new
      to LLVM at least).
      
      The more surprising part of this is the changes to DI*::Verify - this became
      necessary due to the changes to AsmWriter. AsmWriter was relying on the version
      test to decide which bits of metadata were actually debug info when printing
      the comment annotations. Without the version information the tag numbers were
      too common & it would print debug info on random metadata that happened to
      start with an integer that matched a tag number. Instead this change makes the
      Verify functions more precise (just adding "number of operands" checks - not
      type checking those operands yet) & relies on that to decide which metadata is
      debug info metadata.
      
      llvm-svn: 176838
      dc69ebb1
  13. Mar 07, 2013
    • Manman Ren's avatar
      Debug Info: store the files and directories for each compile unit. · 1e427208
      Manman Ren authored
      We now emit a line table for each compile unit. To reduce the prologue size
      of each line table, the files and directories used by each compile unit are
      stored in std::map<unsigned, std::vector< > > instead of std::vector< >.
      
      The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
      compile unit causes a huge increase of debug info. With this patch, each
      prologue will only emit the files required by the compile unit.
      
      rdar://problem/13342023
      
      llvm-svn: 176605
      1e427208
  14. Feb 23, 2013
  15. Feb 12, 2013
  16. Feb 09, 2013
  17. Feb 07, 2013
  18. Feb 06, 2013
  19. Feb 05, 2013
  20. Jan 31, 2013
    • Manman Ren's avatar
      [Dwarf] early exit to avoid creating dangling DIEs · 53f3f9f0
      Manman Ren authored
      We used to create children DIEs for a scope, then check whether ScopeDIE is
      null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can
      link to those dangling DIEs, which are not emitted at all, causing dwarf error.
      
      The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor.
      
      rdar://problem/13071959
      
      llvm-svn: 174084
      53f3f9f0
  21. Jan 28, 2013
  22. Jan 17, 2013
  23. Jan 16, 2013
    • Eric Christopher's avatar
      Split address information for DWARF5 split dwarf proposal. This involves · 962c9089
      Eric Christopher authored
      using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
      stays in the executable and is fully linked.
      
      Sneak in two other small changes:
      
      a) Print out the debug_str_offsets.dwo section.
      b) Change form we're expecting the entries in the debug_str_offsets.dwo
         section to take from ULEB128 to U32.
      
      Add tests for all of this in the fission-cu.ll test.
      
      llvm-svn: 172578
      962c9089
  24. Jan 09, 2013
  25. Jan 08, 2013
  26. Jan 07, 2013
    • Eric Christopher's avatar
      Whitespace and 80-col. · b800ff70
      Eric Christopher authored
      llvm-svn: 171803
      b800ff70
    • Eric Christopher's avatar
      Add support for separating strings for the split debug info DWARF5 · 2cbd5767
      Eric Christopher authored
      proposal. This leaves the strings in the skeleton die as strp,
      but in all dwo files they're accessed now via DW_FORM_GNU_str_index.
      
      Add support for dumping these sections and modify the fission-cu.ll
      testcase to have the correct strings and form. Fix a small bug
      in the fixed form sizes routine that involved out of array accesses
      for the table and add a FIXME in the extractFast routine to fix
      this up.
      
      llvm-svn: 171779
      2cbd5767
  27. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  28. Dec 27, 2012
Loading