Skip to content
  1. Mar 04, 2014
    • 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
    • David Majnemer's avatar
      Normalize line endings · b1004103
      David Majnemer authored
      Some files had CRLF line terminators, some only had a mixture of
      CRLF and LF.  Switch to LF.
      
      llvm-svn: 202659
      b1004103
    • Hal Finkel's avatar
      Add a PPC inline asm constraint type for single CR bits · f7a07a50
      Hal Finkel authored
      This adds support for the PPC "wc" inline asm constraint (used for allocating
      individual CR bits). Support for this constraint type was recently added to the
      LLVM PowerPC backend. Although gcc does not currently support allocating
      individual CR bits, this identifier choice has been coordinated with the gcc
      PowerPC team, and will be marked as reserved for this purpose in the gcc
      constraints.md file.
      
      Prior to this change, none of the multi-character PPC constraints were handled
      correctly (the '^' escape character was not being added as required by the
      parsing code in LLVM). This should now be fixed. I'll add tests for these other
      constraints as support is added for them in the backend.
      
      llvm-svn: 202658
      f7a07a50
    • Richard Smith's avatar
      Add [extern_c] attribute for modules, allowing a C module to be imported... · 77944868
      Richard Smith authored
      Add [extern_c] attribute for modules, allowing a C module to be imported within an extern "C" block in C++ code.
      
      llvm-svn: 202615
      77944868
  4. Mar 01, 2014
    • Warren Hunt's avatar
      Fixed an assertion failure related to bitfield lowering. · fed55979
      Warren Hunt authored
      When lowering a bitfield, CGRecordLowering would assign the wrong 
      storage type to a bitfield in some cases and trigger an assertion.  In 
      these cases the layout was still correct, just the bitfield info was 
      wrong.
      
      llvm-svn: 202562
      fed55979
    • Richard Smith's avatar
      If a module A exports a macro M, and a module B imports that macro and #undef's · 49f906a3
      Richard Smith authored
      it, importers of B should not see the macro. This is complicated by the fact
      that A's macro could also be visible through a different path. The rules (as
      hashed out on cfe-commits) are included as a documentation update in this
      change.
      
      With this, the number of regressions in libc++'s testsuite when modules are
      enabled drops from 47 to 7. Those remaining 7 are also macro-related, and are
      due to remaining bugs in this change (in particular, the handling of submodules
      is imperfect).
      
      llvm-svn: 202560
      49f906a3
  5. Feb 28, 2014
  6. Feb 27, 2014
Loading