Skip to content
  1. Mar 04, 2014
    • Richard Smith's avatar
      Fix typo that resulted in names at TU scope getting lost sometimes after a · 309271b0
      Richard Smith authored
      module import.
      
      llvm-svn: 202771
      309271b0
    • David Blaikie's avatar
      DebugInfo: Emit only the declaration of a class template that has an explicit... · 0e716b42
      David Blaikie authored
      DebugInfo: Emit only the declaration of a class template that has an explicit instantiation declaration (& always emit such a type when there's an explicit instantiation definition)
      
      We should only have this optimization fire when the explicit
      instantiation definition would cause at  least one member function to be
      emitted, thus ensuring that even a compiler not performing this
      optimization would still emit the full type information elsewhere.
      
      But we should also pessimize output still by always emitting the
      definition when the explicit instantiation definition appears so that at
      some point in the future we can depend on that information even when no
      code had to be emitted in that TU. (this shouldn't happen very often,
      since people mostly use explicit spec decl/defs to reduce code size -
      but perhaps one day they could use it to explicitly reduce debug info
      size too)
      
      This was worth about 2% for Clang and LLVM - so not a huge win, but a
      win. It looks really great for simple STL programs (include <string> and
      just declare a string - 14k -> 1.4k of .dwo)
      
      llvm-svn: 202769
      0e716b42
  2. Mar 03, 2014
  3. Mar 02, 2014
Loading