Skip to content
  1. Dec 01, 2017
    • Craig Topper's avatar
    • Rui Ueyama's avatar
      Add an additional test for r319503. · cfd32bfa
      Rui Ueyama authored
      llvm-svn: 319518
      cfd32bfa
    • Shoaib Meenai's avatar
      [lld] Switch to add_llvm_install_targets · d6d11f3c
      Shoaib Meenai authored
      This adds install-*-stripped targets that strip during installation.
      
      Differential Revision: https://reviews.llvm.org/D40688
      
      llvm-svn: 319517
      d6d11f3c
    • Jim Ingham's avatar
      ClangASTContext::ParseClassTemplateDecl doesn't always succeed. · 4e29eed4
      Jim Ingham authored
      When it does, it returns a NULL ClassTemplateDecl.  Don't use 
      it if it is NULL...
      
      <rdar://problem/35672107>
      
      llvm-svn: 319516
      4e29eed4
    • Petr Hosek's avatar
      Include AddLLVM needed for tests in the right context · 363c631e
      Petr Hosek authored
      AddLLVM is needed for several functions that are used in tests and
      as such needs to be included from the right context which previously
      wasn't the case.
      
      Differential Revision: https://reviews.llvm.org/D40280
      
      llvm-svn: 319515
      363c631e
    • Craig Topper's avatar
      [X86] Add a DAG combine to simplify masks for AVX2 gather instructions. · 11f733df
      Craig Topper authored
      AVX2 gathers only use the upper bit of the mask allowing us to simplify sign_extend_inreg to a shift left.
      
      llvm-svn: 319514
      11f733df
    • Richard Smith's avatar
      [c++2a] P0515R3: Support for overloaded operator<=>. · d30b23d6
      Richard Smith authored
      No CodeGen support for MSABI yet, we don't know how to mangle this there.
      
      llvm-svn: 319513
      d30b23d6
    • Rui Ueyama's avatar
      clang-format. · 69989bdb
      Rui Ueyama authored
      llvm-svn: 319512
      69989bdb
    • Adam Nemet's avatar
      [cmake] Expose opt-viewer availability · dc7bd1b1
      Adam Nemet authored
      This will be used in https://github.com/apple/swift/pull/12938
      
      llvm-svn: 319511
      dc7bd1b1
    • Sam Clegg's avatar
      [WebAssembly] Update MC tests now that hidden attr is supported · 223e2d4f
      Sam Clegg authored
      Summary:
      Support was added in rL319488 but these tests were not
      updated.
      
      Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish
      
      Differential Revision: https://reviews.llvm.org/D40693
      
      llvm-svn: 319510
      223e2d4f
    • Richard Smith's avatar
      [c++2a] P0515R3: lexer support for new <=> token. · edbf5972
      Richard Smith authored
      llvm-svn: 319509
      edbf5972
    • Reid Kleckner's avatar
      Revert "Merge .xdata into .rdata by default" · 3e89b083
      Reid Kleckner authored
      This reverts commit r318699, it is breaking 32-bit SEH handlers in
      Chromium.
      
      llvm-svn: 319508
      3e89b083
    • Jake Ehrlich's avatar
      Add flag to ArchiveWriter to test GNU64 format more efficiently · 1a468481
      Jake Ehrlich authored
      Even with the sparse file optimizations the SYM64 test can still be painfully
      slow. This unnecessarily slows down devs. It's critical that we test that the
      switch to the SYM64 format occurs at 4GB but there isn't any better of a way to
      fake the size of the file than sparse files. This change introduces a flag that
      allows the cutoff to be arbitrarily set to whatever power of two is desired.
      The flag is hidden as it really isn't meant to be used outside this one test.
      This is unfortunate but appears necessary, at least until the average hard
      drive is much faster.
      
      The changes to the test require some explanation. Prior to this change we knew
      that the SYM64 format was being used because the file was simply too large to
      have validly handled this case if the SYM64 format were not used. To ensure
      that the SYM64 format is still being used I am grepping the file for "SYM64".
      Without changing the filename however this would be pointless because "SYM64"
      would occur in the file either way. So the filename of the test is also changed
      in order to avoid this issue.
      
      Differential Revision: https://reviews.llvm.org/D40632
      
      llvm-svn: 319507
      1a468481
    • Sam Clegg's avatar
      [WebAssembly] Fix typos · 49ed9262
      Sam Clegg authored
      Patch by Nicholas Wilson
      
      Differential Revision: https://reviews.llvm.org/D40691
      
      llvm-svn: 319506
      49ed9262
    • Zachary Turner's avatar
      Mark all library options as hidden. · 8065f0b9
      Zachary Turner authored
      These command line options are not intended for public use, and often
      don't even make sense in the context of a particular tool anyway. About
      90% of them are already hidden, but when people add new options they
      forget to hide them, so if you were to make a brand new tool today, link
      against one of LLVM's libraries, and run tool -help you would get a
      bunch of junk that doesn't make sense for the tool you're writing.
      
      This patch hides these options. The real solution is to not have
      libraries defining command line options, but that's a much larger effort
      and not something I'm prepared to take on.
      
      Differential Revision: https://reviews.llvm.org/D40674
      
      llvm-svn: 319505
      8065f0b9
    • Zachary Turner's avatar
      Add lldb-test. · 888a4282
      Zachary Turner authored
      This is basically a proof-of-concept and starting point for having a
      testing-centric tool in LLDB.  I'm sure this leaves a lot of room to be
      desired, but this at least allows us to have something to build on.
      
      Right now there is only one command, the `module-sections` command, and I
      created this command not because it was particularly special, but
      because it addressed an immediate use case and was extremely simple.
      
      Run the tool as `lldb-test module-sections <path-to-object>`.
      
      Feel free to add testing related stuff to your heart's content after
      this goes in.  Implementing the commands themselves takes some work, but
      once they're there they can be reused without writing any code and
      result in very easy to use and maintain tests.
      
      Differential Revision: https://reviews.llvm.org/D40636
      
      llvm-svn: 319504
      888a4282
    • Rui Ueyama's avatar
      Make .gnu.hash section smaller. · 1cf7f9cc
      Rui Ueyama authored
      Our on-disk hash table was unnecessarily large. The cost of collision is
      not high in the .gnu.hash table because each symbol in the .gnu.hash
      table has a hash value with it. So, for each collided symbol, the
      dynamic linker just compares an integer, which is pretty cheap.
      
      This patch increases the load factor by about 8. Here's a comparison.
      
        $ readelf --histogram libclangSema.so.6.0.0svn-new-lld
        Histogram for `.gnu.hash' bucket list length (total of 582 buckets):
         Length  Number     % of total  Coverage
              0  11         (  1.9%)
              1  35         (  6.0%)      1.5%
              2  93         ( 16.0%)      9.5%
              3  108        ( 18.6%)     23.4%
              4  121        ( 20.8%)     44.1%
              5  86         ( 14.8%)     62.6%
              6  63         ( 10.8%)     78.8%
              7  38         (  6.5%)     90.2%
              8  18         (  3.1%)     96.4%
              9  6          (  1.0%)     98.7%
             10  3          (  0.5%)    100.0%
      
        $ readelf --histogram libclangSema.so.6.0.0svn-old-lld
        Histogram for `.gnu.hash' bucket list length (total of 4093 buckets):
         Length  Number     % of total  Coverage
              0  1498       ( 36.6%)
              1  1545       ( 37.7%)     37.7%
              2  712        ( 17.4%)     72.5%
              3  251        (  6.1%)     90.9%
              4  66         (  1.6%)     97.3%
              5  16         (  0.4%)     99.3%
              6  5          (  0.1%)    100.0%
      
        $ readelf --histogram libclangSema.so.6.0.0svn-bfd
        Histogram for `.gnu.hash' bucket list length (total of 1004 buckets):
         Length  Number     % of total  Coverage
            0  92         (  9.2%)
              1  227        ( 22.6%)      9.8%
              2  266        ( 26.5%)     32.6%
              3  222        ( 22.1%)     61.2%
              4  115        ( 11.5%)     81.0%
              5  55         (  5.5%)     92.8%
              6  21         (  2.1%)     98.2%
              7  6          (  0.6%)    100.0%
      
        $ readelf --histogram libclangSema.so.6.0.0svn-gold
        Histogram for `.gnu.hash' bucket list length (total of 2053 buckets):
         Length  Number     % of total  Coverage
              0  671        ( 32.7%)
              1  709        ( 34.5%)     30.4%
              2  470        ( 22.9%)     70.7%
              3  141        (  6.9%)     88.9%
              4  54         (  2.6%)     98.2%
              5  5          (  0.2%)     99.2%
              6  3          (  0.1%)    100.0%
      
      Differential Revision: https://reviews.llvm.org/D40683
      
      llvm-svn: 319503
      1cf7f9cc
    • Hans Wennborg's avatar
      2c1e6823
    • Matt Arsenault's avatar
      AMDGPU: Use carry-less adds in FI elimination · 686d5c72
      Matt Arsenault authored
      llvm-svn: 319501
      686d5c72
    • Jason Molenda's avatar
      We had a situation where a kext was inlined into the kernel, · c1871475
      Jason Molenda authored
      but still listed in the kernel's kext table with the kernel
      binary UUID.  This resulted in the kernel text section being
      loaded at the kext address and problems ensuing.  Instead,
      if there is a kext with the same UUID as the kernel, lldb
      should skip over it.
      
      <rdar://problem/35757689> 
      
      llvm-svn: 319500
      c1871475
    • Shoaib Meenai's avatar
      [libc++abi] Add install-cxxabi-stripped target · acee9928
      Shoaib Meenai authored
      LLVM is gaining install-*-stripped targets to perform stripped installs,
      and in order for this to be useful for install-distribution, all
      potential distribution components should have stripped installation
      targets. LLVM has a function to create these install targets, but since
      we can't use LLVM CMake functions in libc++abi, let's do it manually.
      
      Differential Revision: https://reviews.llvm.org/D40681
      
      llvm-svn: 319499
      acee9928
    • Shoaib Meenai's avatar
      [libunwind] Switch to add_llvm_install_targets · e0c51f68
      Shoaib Meenai authored
      This gains us the install-unwind-stripped target, to perform stripping
      during installation.
      
      Differential Revision: https://reviews.llvm.org/D40685
      
      llvm-svn: 319498
      e0c51f68
    • Sam McCall's avatar
      [clangd] Logger implicitly adds newline · 318fbeb9
      Sam McCall authored
      llvm-svn: 319497
      318fbeb9
    • Sam McCall's avatar
      [clangd] Log file compile commands · fae3b025
      Sam McCall authored
      llvm-svn: 319496
      fae3b025
    • Richard Smith's avatar
      Update website to mention that you still need -frelaxed-template-template-args... · e0c11f25
      Richard Smith authored
      Update website to mention that you still need -frelaxed-template-template-args to enable the corresponding C++17 feature in Clang 5.
      
      llvm-svn: 319495
      e0c11f25
    • Peter Collingbourne's avatar
      ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. · 1f034226
      Peter Collingbourne authored
      If the thin module has no references to an internal global in the
      merged module, we need to make sure to preserve that property if the
      global is a member of a comdat group, as otherwise promotion can end
      up adding global symbols to the comdat, which is not allowed.
      
      This situation can arise if the external global in the thin module
      has dead constant users, which would cause use_empty() to return
      false and would cause us to try to promote it. To prevent this from
      happening, discard the dead constant users before asking whether a
      global is empty.
      
      Differential Revision: https://reviews.llvm.org/D40593
      
      llvm-svn: 319494
      1f034226
    • Zachary Turner's avatar
      Simplify the DenseSet used for hashing CodeView records. · f0e4c6a8
      Zachary Turner authored
      This was storing the hash alongside the key so that the hash
      doesn't need to be re-computed every time, but in doing so it
      was allocating a structure to keep the key size small in the
      DenseMap.  This is a noble goal, but it also leads to a pointer
      indirection on every probe, and this cost of this pointer
      indirection ends up being higher than the cost of having a
      slightly larger entry in the hash table.  Removing this not only
      simplifies the code, but yields a small but noticeable
      performance improvement in the type merging algorithm.
      
      llvm-svn: 319493
      f0e4c6a8
  2. Nov 30, 2017
Loading