Skip to content
  1. Mar 12, 2013
    • 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
  2. 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
  3. Feb 23, 2013
  4. Feb 12, 2013
  5. Feb 09, 2013
  6. Feb 07, 2013
  7. Feb 06, 2013
  8. Feb 05, 2013
  9. 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
  10. Jan 28, 2013
  11. Jan 17, 2013
  12. 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
  13. Jan 09, 2013
  14. Jan 08, 2013
  15. 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
  16. 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
  17. Dec 27, 2012
  18. Dec 20, 2012
  19. Dec 19, 2012
  20. Dec 15, 2012
  21. Dec 13, 2012
  22. Dec 11, 2012
  23. Dec 10, 2012
  24. Dec 04, 2012
    • David Blaikie's avatar
      Comment change made in r169304 as requested by Eric Christopher. · 67cb31eb
      David Blaikie authored
      llvm-svn: 169315
      67cb31eb
    • David Blaikie's avatar
      Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB · 5a773bb6
      David Blaikie authored
      This reapplies the fix for PR13303 now with more justification. Based on my
      execution of the GDB 7.5 test suite this results in:
      
      expected passes: 16101 -> 20890 (+30%)
      unexpected failures: 4826 -> 637 (-77%)
      
      There are 23 checks that used to pass and now fail. They are all in
      gdb.reverse. Investigating a few looks like they were accidentally passing
      due to extra breakpoints being set by this bug. They're generally due to the
      difference in end location between gcc and clang, the test suite is trying to
      set breakpoints on the closing '}' that clang doesn't associate with any
      instructions.
      
      llvm-svn: 169304
      5a773bb6
  25. Dec 03, 2012
Loading