Skip to content
  1. Aug 20, 2011
  2. Aug 19, 2011
  3. 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
  4. Aug 16, 2011
  5. Aug 15, 2011
  6. Aug 12, 2011
  7. Aug 11, 2011
  8. Aug 10, 2011
  9. Aug 08, 2011
  10. 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
  11. Aug 03, 2011
  12. Aug 01, 2011
  13. Jul 29, 2011
    • Nick Lewycky's avatar
      Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow some · 019d255d
      Nick Lewycky authored
      lines. No functionality change.
      
      llvm-svn: 136458
      019d255d
    • Chandler Carruth's avatar
      Rewrite the CMake build to use explicit dependencies between libraries, · 9d7feab3
      Chandler Carruth authored
      specified in the same file that the library itself is created. This is
      more idiomatic for CMake builds, and also allows us to correctly specify
      dependencies that are missed due to bugs in the GenLibDeps perl script,
      or change from compiler to compiler. On Linux, this returns CMake to
      a place where it can relably rebuild several targets of LLVM.
      
      I have tried not to change the dependencies from the ones in the current
      auto-generated file. The only places I've really diverged are in places
      where I was seeing link failures, and added a dependency. The goal of
      this patch is not to start changing the dependencies, merely to move
      them into the correct location, and an explicit form that we can control
      and change when necessary.
      
      This also removes a serialization point in the build because we don't
      have to scan all the libraries before we begin building various tools.
      We no longer have a step of the build that regenerates a file inside the
      source tree. A few other associated cleanups fall out of this.
      
      This isn't really finished yet though. After talking to dgregor he urged
      switching to a single CMake macro to construct libraries with both
      sources and dependencies in the arguments. Migrating from the two macros
      to that style will be a follow-up patch.
      
      Also, llvm-config is still generated with GenLibDeps.pl, which means it
      still has slightly buggy dependencies. The internal CMake
      'llvm-config-like' macro uses the correct explicitly specified
      dependencies however. A future patch will switch llvm-config generation
      (when using CMake) to be based on these deps as well.
      
      This may well break Windows. I'm getting a machine set up now to dig
      into any failures there. If anyone can chime in with problems they see
      or ideas of how to solve them for Windows, much appreciated.
      
      llvm-svn: 136433
      9d7feab3
  14. Jul 28, 2011
  15. 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
  16. Jul 26, 2011
  17. Jul 23, 2011
  18. 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
  19. Jul 20, 2011
Loading