Skip to content
  1. Aug 07, 2018
  2. Aug 06, 2018
  3. Aug 05, 2018
    • David Bolvansky's avatar
      Fix tests for changed opt remarks format · eb3aad99
      David Bolvansky authored
      Summary:
      Optimization remark format is slightly changed by LLVM patch D49412.
      Two tests are fixed with expected messages changed.
      Frankly speaking I have not tested this change yet. I will test when manage to setup the project.
      
      Reviewers: xbolva00
      
      Reviewed By: xbolva00
      
      Subscribers: mehdi_amini, eraman, steven_wu, dexonsmith
      
      Differential Revision: https://reviews.llvm.org/D50241
      
      llvm-svn: 338971
      eb3aad99
  4. Aug 04, 2018
    • Richard Smith's avatar
      Avoid creating conditional cleanup blocks that contain only @llvm.lifetime.end calls · aa140bf1
      Richard Smith authored
      When a non-extended temporary object is created in a conditional branch, the
      lifetime of that temporary ends outside the conditional (at the end of the
      full-expression). If we're inserting lifetime markers, this means we could end
      up generating
      
        if (some_cond) {
          lifetime.start(&tmp);
          Tmp::Tmp(&tmp);
        }
        // ...
        if (some_cond) {
          lifetime.end(&tmp);
        }
      
      ... for a full-expression containing a subexpression of the form `some_cond ?
      Tmp().x : 0`. This patch moves the lifetime start for such a temporary out of
      the conditional branch so that we don't need to generate an additional basic
      block to hold the lifetime end marker.
      
      This is disabled if we want precise lifetime markers (for asan's
      stack-use-after-scope checks) or of the temporary has a non-trivial destructor
      (in which case we'd generate an extra basic block anyway to hold the destructor
      call).
      
      Differential Revision: https://reviews.llvm.org/D50286
      
      llvm-svn: 338945
      aa140bf1
    • Richard Smith's avatar
      [constexpr] Support for constant evaluation of __builtin_memcpy and · 06f71b5b
      Richard Smith authored
      __builtin_memmove (in non-type-punning cases).
      
      This is intended to permit libc++ to make std::copy etc constexpr
      without sacrificing the optimization that uses memcpy on
      trivially-copyable types.
      
      __builtin_strcpy and __builtin_wcscpy are not handled by this change.
      They'd be straightforward to add, but we haven't encountered a need for
      them just yet.
      
      This reinstates r338455, reverted in r338602, with a fix to avoid trying
      to constant-evaluate a memcpy call if either pointer operand has an
      invalid designator.
      
      llvm-svn: 338941
      06f71b5b
    • George Karpenkov's avatar
      [analyzer] Do not crash in NoStoreFuncVisitor notes if an unexpected region is found. · 09c31b1c
      George Karpenkov authored
      Just do not generate the note at all in that case.
      
      llvm-svn: 338935
      09c31b1c
    • Volodymyr Sapsai's avatar
      [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable. · e5015abf
      Volodymyr Sapsai authored
      Libc++ needs to know when aligned allocation is supported by clang, but is
      otherwise unavailable at link time. Otherwise, libc++ will incorrectly end up
      generating calls to `__builtin_operator_new`/`__builtin_operator_delete` with
      alignment arguments.
      
      This patch implements the following changes:
      
      * The `__cpp_aligned_new` feature test macro to no longer be defined when
        aligned allocation is otherwise enabled but unavailable.
      
      * The Darwin driver no longer passes `-faligned-alloc-unavailable` when the
        user manually specifies `-faligned-allocation` or `-fno-aligned-allocation`.
      
      * Instead of a warning Clang now generates a hard error when an aligned
        allocation or deallocation function is referenced but unavailable.
      
      Patch by Eric Fiselier.
      
      Reviewers: rsmith, vsapsai, erik.pilkington, ahatanak, dexonsmith
      
      Reviewed By: rsmith
      
      Subscribers: Quuxplusone, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D45015
      
      llvm-svn: 338934
      e5015abf
    • Eli Friedman's avatar
      Diagnose invalid cv-qualifiers for friend decls. · 7499610e
      Eli Friedman authored
      Differential Revision: https://reviews.llvm.org/D45712
      
      llvm-svn: 338931
      7499610e
  5. Aug 03, 2018
Loading