SuccessChanges

Summary

  1. [SampleFDO] Add compression support for any section in ExtBinary profile (details)
  2. [X86][SSE] getTargetShuffleInputs - move VT.isSimple/isVector checks (details)
  3. [libTooling] Add `toString` method to the Stencil class (details)
  4. [llvm-profdata] Minor format fix (details)
  5. Codegen - silence static analyzer getAs<> null dereference warnings. (details)
  6. Fix build errors caused by rL373914. (details)
  7. [clang-format] [NFC] Ensure clang-format is itself clang-formatted. (details)
  8. [clang-format] [PR27004] omits leading space for noexcept when (details)
  9. [Remarks] Pass StringBlockValue as StringRef. (details)
  10. [clangd] Fix raciness in code completion tests (details)
  11. ProcessInstanceInfoMatch: Don't match processes with no name if a name (details)
  12. [DWARFASTParserClang] Delete commented-out typedef, NFC (details)
  13. [DWARFASTParserClang] Factor out structure-like type parsing, NFC (details)
  14. [libTooling][NFC] Fix build break in r373916. (details)
  15. Fix Calling Convention through aliases (details)
  16. [scudo][standalone] Correct releaseToOS behavior (details)
  17. [platform process list] add a flag for showing the processes of all (details)
  18. Try to get clangd tests passing on Windows. (details)
  19. [libc++abi] Remove redundant link flags on Apple platforms (details)
  20. Second attempt to add iterator_range::empty() (details)
  21. [clang] [cmake] Support LLVM_DISTRIBUTION_COMPONENTS in stand-alone (details)
Commit b523790ae1b30a1708d2fc7937f90e283330ef33 by wmi
[SampleFDO] Add compression support for any section in ExtBinary profile
format
Previously ExtBinary profile format only supports compression using zlib
for profile symbol list. In this patch, we extend the compression
support to any section. User can select some or all of the sections to
compress. In an experiment, for a 45M profile in ExtBinary format,
compressing name table reduced its size to 24M, and compressing all the
sections reduced its size to 11M.
Differential Revision: https://reviews.llvm.org/D68253
llvm-svn: 373914
The file was modifiedllvm/lib/ProfileData/SampleProf.cpp
The file was modifiedllvm/lib/ProfileData/SampleProfWriter.cpp
The file was addedllvm/test/tools/llvm-profdata/roundtrip-compress.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was addedllvm/test/Transforms/SampleProfile/profile-format-compress.ll
The file was addedllvm/test/tools/llvm-profdata/profile-symbol-list-compress.test
The file was modifiedllvm/test/Transforms/SampleProfile/compressed-profile-symbol-list.ll
The file was modifiedllvm/test/Transforms/SampleProfile/uncompressed-profile-symbol-list.ll
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
Commit 9c2e12304388eef8b5ce5d1ac07afe52860045ca by llvm-dev
[X86][SSE] getTargetShuffleInputs - move VT.isSimple/isVector checks
inside. NFCI.
Stop all the callers from having to check the value type before calling
getTargetShuffleInputs.
llvm-svn: 373915
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d5b983555f7a853c4cd95c95b66715ae4976bd55 by yitzhakm
[libTooling] Add `toString` method to the Stencil class
Summary:
`toString` generates a string representation of the stencil.
Patch by Harshal T. Lehri.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68574
llvm-svn: 373916
The file was modifiedclang/include/clang/Tooling/Refactoring/Stencil.h
The file was modifiedclang/lib/Tooling/Refactoring/Stencil.cpp
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
Commit b3342e180e9c2cc59580796d3c4b88a1b7d65434 by aktoon
[llvm-profdata] Minor format fix
Summary: Minor format fix for output of "llvm-profdata -show"
Reviewers: wmi
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68440
llvm-svn: 373917
The file was modifiedllvm/lib/ProfileData/SampleProf.cpp
Commit 7e38f0c408058ec104df4f92b9d0789ab07f21e8 by llvm-dev
Codegen - silence static analyzer getAs<> null dereference warnings.
NFCI.
The static analyzer is warning about potential null dereferences, but in
these cases we should be able to use castAs<> directly and if not assert
will fire for us.
llvm-svn: 373918
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp
The file was modifiedclang/lib/CodeGen/CGCXX.cpp
The file was modifiedclang/lib/CodeGen/CGClass.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 283df8cf742803ad0946dbb2b4ff1e9d1eaed7aa by wmi
Fix build errors caused by rL373914.
llvm-svn: 373919
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
Commit a65cfe3037a9555b0f85e76cf540d57fdcaac266 by mydeveloperday
[clang-format] [NFC] Ensure clang-format is itself clang-formatted.
Summary: Before making a proposed change, ensure ClangFormat.cpp is
fully clang-formatted,
no functional change just clang-formatting using the in tree
.clang-format.
Reviewers: mitchell-stellar
Reviewed By: mitchell-stellar
Subscribers: Eugene.Zelenko, cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D68551
llvm-svn: 373921
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
Commit 2c3f73800fd4918c2c7a8aeaf1188d9a7e85bb87 by mydeveloperday
[clang-format] [PR27004] omits leading space for noexcept when
formatting operator delete()
Summary: clang-format is incorrectly thinking the parameter parens are
part of a cast operation, this is resulting in there sometimes being not
space between the paren and the noexcept (and other keywords like
volatile etc..)
``` void operator++(int) noexcept; void operator++(int &) noexcept; void
operator delete(void *, std::size_t, const std::nothrow_t &)noexcept;
```
Reviewers: klimek, owenpan, mitchell-stellar
Reviewed By: mitchell-stellar
Subscribers: cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D68481
llvm-svn: 373922
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 90b7dc9e716450ec8ce3d64cccbb6acdb750a609 by flo
[Remarks] Pass StringBlockValue as StringRef.
After changing the remark serialization, we now pass StringRefs to the
serializer. We should use StringRef for StringBlockVal, to avoid
creating temporary objects, which then cause StringBlockVal.Value to
point to invalid memory.
Reviewers: thegameg, anemet
Reviewed By: thegameg
Differential Revision: https://reviews.llvm.org/D68571
llvm-svn: 373923
The file was modifiedllvm/lib/Remarks/YAMLRemarkSerializer.cpp
Commit de8599776b52b7d130fbe8373827f6a6a7c9f97d by kadircet
[clangd] Fix raciness in code completion tests
Reviewers: sammccall, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68273
llvm-svn: 373924
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit f7bd5bffede5c97f92caaa5804f1768c0c7bbbc4 by pavel
ProcessInstanceInfoMatch: Don't match processes with no name if a name
match was requested
Since D68289, a couple of tests on linux started being extremely flaky.
All of them were doing name-based attaching and were failing because
they couldn't find an unambiguous process to attach to.
The patch above changed the process finding logic, so that failure to
find a process name does not constitute an error. This meant that a lot
more transient processes showed up in the process list during the test
suite run. Previously, these processes would not appear as they would be
gone by the time we went to read their executable name, arguments, etc.
Now, this alone should not cause an issue were it not for the fact that
we were considering a process with no name as if it matched by default
(even if we were explicitly searching for a process with a specified
name). This meant that any of the "transient" processes with no name
would make the name match ambiguous. That clearly seems like a bug to me
so I fix that.
llvm-svn: 373925
The file was modifiedlldb/unittests/Utility/ProcessInstanceInfoTest.cpp
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
Commit fccfe2c04abf17f9e8860bbc6aefd2090711c92e by Vedant Kumar
[DWARFASTParserClang] Delete commented-out typedef, NFC
(& group together all the protected members & typedefs)
llvm-svn: 373926
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Commit 40a1853c497d9cbedd7ce8b7edbf3ebb31f826bf by Vedant Kumar
[DWARFASTParserClang] Factor out structure-like type parsing, NFC
Split out the logic to parse structure-like types into a separate
function, in an attempt to reduce the complexity of ParseTypeFromDWARF.
Inspired by discussion in https://reviews.llvm.org/D68130.
Differential Revision: https://reviews.llvm.org/D68422
llvm-svn: 373927
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit e4cec2d3c73f7b30edc03b6b8219273fc81fc477 by yitzhakm
[libTooling][NFC] Fix build break in r373916.
r373916 used raw strings inside macro calls, which breaks some builds.
llvm-svn: 373928
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
Commit 8a410bcef02c25b6b3a49fa6483875eb64539aad by erich.keane
Fix Calling Convention through aliases
r369697 changed the behavior of stripPointerCasts to no longer include
aliases.  However, the code in CGDeclCXX.cpp's createAtExitStub counted
on the looking through aliases to properly set the calling convention of
a call.
The result of the change was that the calling convention mismatch of the
call would be replaced with a llvm.trap, causing a runtime crash.
Differential Revision: https://reviews.llvm.org/D68584
llvm-svn: 373929
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/include/llvm/IR/Value.h
The file was addedclang/test/CodeGenCXX/call-conv-thru-alias.cpp
Commit bebdab63e84ce058ee4ff8b37de48b73197ae24e by kostyak
[scudo][standalone] Correct releaseToOS behavior
Summary: There was an issue in `releaseToOSMaybe`: one of the criteria
to decide if we should proceed with the release was wrong. Namely:
``` const uptr N = Sci->Stats.PoppedBlocks - Sci->Stats.PushedBlocks; if
(N * BlockSize < PageSize)
return; // No chance to release anything.
```
I meant to check if the amount of bytes in the free list was lower than
a page, but this actually checks if the amount of **in use** bytes was
lower than a page.
The correct code is:
``` const uptr BytesInFreeList =
Region->AllocatedUser -
(Region->Stats.PoppedBlocks - Region->Stats.PushedBlocks) * BlockSize;
if (BytesInFreeList < PageSize)
return 0; // No chance to release anything.
```
Consequences of the bug:
- if a class size has less than a page worth of in-use bytes (allocated
or in a cache), reclaiming would not occur, whatever the amount of
blocks in the free list; in real world scenarios this is unlikely to
happen and be impactful;
- if a class size had less than a page worth of free bytes (and enough
in-use bytes, etc), then reclaiming would be attempted, with likely
no result. This means the reclaiming was overzealous at times.
I didn't have a good way to test for this, so I changed the prototype of
the function to return the number of bytes released, allowing to get the
information needed. The test added fails with the initial criteria.
Another issue is that `ReleaseToOsInterval` can actually be 0, meaning
we always try to release (side note: it's terrible for performances). so
change a `> 0` check to `>= 0`.
Additionally, decrease the `CanRelease` threshold to `PageSize / 32`. I
still have to make that configurable but I will do it at another time.
Finally, rename some variables in `printStats`: I feel like "available"
was too ambiguous, so change it to "total".
Reviewers: morehouse, hctim, eugenis, vitalybuka, cferris
Reviewed By: morehouse
Subscribers: delcypher, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D68471
llvm-svn: 373930
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
Commit 6e1a0cf46bae77e1a83416f9479884cbb5e0164a by a20012251
[platform process list] add a flag for showing the processes of all
users
Summary: For context: https://reviews.llvm.org/D68293
We need a way to show all the processes on android regardless of the
user id. When you run `platform process list`, you only see the
processes with the same user as the user that launched lldb-server.
However, it's quite useful to see all the processes, though, and it will
lay a foundation for full apk debugging support from lldb.
Before:
``` PID    PARENT USER       TRIPLE                   NAME
====== ====== ========== ========================
============================ 3234   1               
aarch64-unknown-linux-android adbd 8034   3234            
aarch64-unknown-linux-android sh 9096   3234            
aarch64-unknown-linux-android sh 9098   9096            
aarch64-unknown-linux-android lldb-server
(lldb) ^D
```
Now:
```
(lldb) platform process list -x 205 matching processes were found on
"remote-android" PID    PARENT USER       TRIPLE                   NAME
====== ====== ========== ========================
============================ 1      0                                  
      init 524    1                                          init 525  
1                                          init 531    1               
                         ueventd 568    1                              
          logd 569    1                 aarch64-unknown-linux-android
servicemanager 570    1                 aarch64-unknown-linux-android
hwservicemanager 571    1                 aarch64-unknown-linux-android
vndservicemanager 577    1                 aarch64-unknown-linux-android
qseecomd 580    577               aarch64-unknown-linux-android qseecomd
... 23816  979                                      
com.android.providers.calendar 24600  979                              
        com.verizon.mips.services 27888  979                           
           com.hualai 28043  2378                                     
com.android.chrome:sandboxed_process0 31449  979                       
               com.att.shm 31779  979                                  
    com.samsung.android.authfw 31846  979                              
        com.samsung.android.server.iris 32014  979                     
                 com.samsung.android.MtpApplication 32045  979         
                             com.samsung.InputEventApp
```
Reviewers: labath,xiaobai,aadsm,clayborg
Subscribers:
llvm-svn: 373931
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was modifiedlldb/source/Commands/Options.td
Commit 29f7e17cb8b60ecfe4af313cc22fea7a8feb156c by nicolasweber
Try to get clangd tests passing on Windows.
Part of PR43592. See also r328645.
llvm-svn: 373932
The file was modifiedclang-tools-extra/clangd/test/type-hierarchy.test
The file was modifiedclang-tools-extra/clangd/test/semantic-highlighting.test
Commit f385a381404797f5c44298d34c4ba804fad556d3 by Louis Dionne
[libc++abi] Remove redundant link flags on Apple platforms
These flags are already set when we create the cxxabi_shared target
using the SOVERSION and VERSION target properties, and the install_name
was already being overriden to '@rpath/libc++abi.1.dylib' by CMake
because no 'CMAKE_INSTALL_NAME_DIR' option was specified. So this is
effectively a removal of dead code with no intended functionality
change.
The only think we're losing here is that we used to link against
libSystem.B.dylib instead of libSystem.dylib when building libc++abi for
macOS 10.6 -- however, I strongly suspect nobody's building libc++abi
from source for that target anymore.
llvm-svn: 373934
The file was modifiedlibcxxabi/src/CMakeLists.txt
Commit fdaa74217420729140f1786ea037ac445a724c8e by jordan_rose
Second attempt to add iterator_range::empty()
Doing this makes MSVC complain that `empty(someRange)` could refer to
either C++17's std::empty or LLVM's llvm::empty, which previously we
avoided via SFINAE because std::empty is defined in terms of an empty
member rather than begin and end. So, switch callers over to the new
method as it is added.
https://reviews.llvm.org/D68439
llvm-svn: 373935
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/MachineModuleInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/include/llvm/ADT/iterator_range.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAsmPrinter.cpp
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp
The file was modifiedllvm/lib/IR/DebugInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit cdbeaf548f1ff1ac49dfd26de25a67c8ac081996 by mgorny
[clang] [cmake] Support LLVM_DISTRIBUTION_COMPONENTS in stand-alone
build
Differential Revision: https://reviews.llvm.org/D68412
llvm-svn: 373936
The file was modifiedclang/CMakeLists.txt