Skip to content
  1. Feb 06, 2019
    • Philip Reames's avatar
    • Philip Reames's avatar
      b5bb4a4e
    • Richard Trieu's avatar
      Move DomTreeUpdater from IR to Analysis · 5f436fc5
      Richard Trieu authored
      DomTreeUpdater depends on headers from Analysis, but is in IR.  This is a
      layering violation since Analysis depends on IR.  Relocate this code from IR
      to Analysis to fix the layering violation.
      
      llvm-svn: 353265
      5f436fc5
    • Sanjay Patel's avatar
      [x86] add tests for extract+sitofp; NFC · 997b2aba
      Sanjay Patel authored
      llvm-svn: 353249
      997b2aba
    • Heejin Ahn's avatar
      [WebAssembly] Tidy up `let` statements in .td files (NFC) · 4367587f
      Heejin Ahn authored
      Summary:
      - Delete {} for one-line `let` statements
      - Don't indent within `let` blocks
      - Add comments after `let` block's closing braces
      
      Reviewers: tlively
      
      Subscribers: dschuff, sbc100, jgravelle-google, sunfish, jfb, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D57730
      
      llvm-svn: 353248
      4367587f
    • Alina Sbirlea's avatar
      [BasicAA] Cache nonEscapingLocalObjects for alias() calls. · b9c1bc6d
      Alina Sbirlea authored
      Summary:
      Use a small cache for Values tested by nonEscapingLocalObject().
      Since the calls to PointerMayBeCaptured are fairly expensive, this saves
      a good amount of compile time for anything relying heavily on
      BasicAA.alias() calls.
      
      This uses the same approach as the AliasCache, i.e. the cache is reset
      after each alias() call. The cache is not used or updated by modRefInfo
      calls since it's harder to know when to reset the cache.
      
      Testcases that show improvements with this patch are too large to
      include. Example compile time improvement: 7s to 6s.
      
      Reviewers: chandlerc, sunfish
      
      Subscribers: sanjoy, jlebar, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D57627
      
      llvm-svn: 353245
      b9c1bc6d
    • Nico Weber's avatar
      gn build: Fix clang-tidy build · d3391bdd
      Nico Weber authored
      Not depending on //clang/lib/StaticAnalyzer/Core and
      //clang/lib/StaticAnalyzer/Frontend causes a linker error even if
      ClangSACheckers are not supported.
      
      Undefined symbols for architecture x86_64:
        "clang::ento::CreateAnalysisConsumer(clang::CompilerInstance&)", referenced from:
            clang::tidy::ClangTidyASTConsumerFactory::CreateASTConsumer(
                    clang::CompilerInstance&, llvm::StringRef)
                in libclangTidy.a(libclangTidy.ClangTidy.o)
      
      Patch from Mirko Bonadei <mbonadei@webrtc.org>!
      
      Differential Revision: https://reviews.llvm.org/D57777
      
      llvm-svn: 353244
      d3391bdd
    • Vedant Kumar's avatar
      [HotColdSplit] Do not split out `resume` instructions · bd94b428
      Vedant Kumar authored
      Resumes that are not reachable from a cleanup landing pad are considered
      to be unreachable. It’s not safe to split them out.
      
      rdar://47808235
      
      llvm-svn: 353242
      bd94b428
    • David Blaikie's avatar
      Orc: Simplify RPC naming system by using function-local statics · e49209ed
      David Blaikie authored
      The existing scheme of class template static members for Name and
      NameMutex is a bit verbose, involves global ctors (even if they're cheap
      for string and mutex, still not entirely free), and (importantly/my
      immediate motivation here) trips over a bug in LLVM's modules
      implementation that's a bit involved (hmm, sounds like Mr. Smith has a
      fix for the modules thing - but I'm still inclined to commit this patch
      as general goodness).
      
      llvm-svn: 353241
      e49209ed
    • Douglas Yung's avatar
    • Lang Hames's avatar
      [ADT] Add a fallible_iterator wrapper. · 3e040e05
      Lang Hames authored
      A fallible iterator is one whose increment or decrement operations may fail.
      This would usually be supported by replacing the ++ and -- operators with
      methods that return error:
      
          class MyFallibleIterator {
          public:
            // ...
            Error inc();
            Errro dec();
            // ...
          };
      
      The downside of this style is that it no longer conforms to the C++ iterator
      concept, and can not make use of standard algorithms and features such as
      range-based for loops.
      
      The fallible_iterator wrapper takes an iterator written in the style above
      and adapts it to (mostly) conform with the C++ iterator concept. It does this
      by providing standard ++ and -- operator implementations, returning any errors
      generated via a side channel (an Error reference passed into the wrapper at
      construction time), and immediately jumping the iterator to a known 'end'
      value upon error. It also marks the Error as checked any time an iterator is
      compared with a known end value and found to be inequal, allowing early exit
      from loops without redundant error checking*.
      
      Usage looks like:
      
          MyFallibleIterator I = ..., E = ...;
      
          Error Err = Error::success();
          for (auto &Elem : make_fallible_range(I, E, Err)) {
            // Loop body is only entered when safe.
      
            // Early exits from loop body permitted without checking Err.
            if (SomeCondition)
              return;
      
          }
          if (Err)
            // Handle error.
      
      * Since failure causes a fallible iterator to jump to end, testing that a
        fallible iterator is not an end value implicitly verifies that the error is a
        success value, and so is equivalent to an error check.
      
      Reviewers: dblaikie, rupprecht
      
      Subscribers: mgorny, dexonsmith, kristina, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D57618
      
      llvm-svn: 353237
      3e040e05
    • Heejin Ahn's avatar
      7b7a4ef3
  2. Feb 05, 2019
Loading