Skip to content
  1. Aug 17, 2011
    • Devang Patel's avatar
      Until now all debug info MDNodes referred to a root MDNode, a compile unit.... · eb1bb4e4
      Devang Patel authored
      Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer.  However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL.
      
      MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up.
      
      llvm-svn: 137778
      eb1bb4e4
  2. Aug 16, 2011
  3. Aug 15, 2011
  4. Aug 12, 2011
  5. Aug 11, 2011
  6. Aug 10, 2011
  7. Aug 08, 2011
  8. Aug 05, 2011
    • Chandler Carruth's avatar
      Temporarily revert r135528 which distinguishes between two copies of one · 81b7e11c
      Chandler Carruth authored
      inlined variable, based on the discussion in PR10542.
      
      This explodes the runtime of several passes down the pipeline due to
      a large number of "copies" remaining live across a large function. This
      only shows up with both debug and opt, but when it does it creates
      a many-minute compile when self-hosting LLVM+Clang. There are several
      other cases that show these types of regressions.
      
      All of this is tracked in PR10542, and progress is being made on fixing
      the issue. Once its addressed, the re-instated, but until then this
      restores the performance for self-hosting and other opt+debug builds.
      
      Devang, let me know if this causes any trouble, or impedes fixing it in
      any way, and thanks for working on this!
      
      llvm-svn: 136953
      81b7e11c
  9. Aug 03, 2011
  10. Jul 29, 2011
  11. Jul 28, 2011
  12. Jul 27, 2011
    • Devang Patel's avatar
      It is quiet possible that inlined function body is split into multiple chunks... · f098ce27
      Devang Patel authored
      It is quiet possible that inlined function body is split into multiple chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry.
      
      llvm-svn: 136196
      f098ce27
  13. Jul 26, 2011
  14. Jul 21, 2011
    • Devang Patel's avatar
      Refactor. · ddfe66e9
      Devang Patel authored
      llvm-svn: 135633
      ddfe66e9
    • Devang Patel's avatar
      There are two ways to map a variable to its lexical scope. Lexical scope... · 8fb9fd67
      Devang Patel authored
      There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode.
      
      llvm-svn: 135629
      8fb9fd67
  15. Jul 20, 2011
  16. Jul 15, 2011
  17. Jul 14, 2011
Loading