Skip to content
  1. Aug 08, 2018
  2. Aug 07, 2018
  3. Aug 06, 2018
  4. 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
  5. 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
Loading