SuccessChanges

Summary

  1. [gn build] Port D80579 (details)
  2. [llvm][NFC] ProfileSummaryInfo - const-ify APIs (details)
  3. [gn build] Add MLAnalysisTests after D80579 (details)
  4. Introduce a GCStatepointInst type analogous to IntrinsicInst subclasses (details)
  5. Do not warn that an expression of the form (void)arr; is unused when (details)
  6. [ELF][test] Fix wrap-no-real.s after D51283 (details)
  7. [NFC,StackSafety] Cleanup alloca size calculation (details)
  8. Sink first bit of functionality from Statepoint to GCStatepointInst (details)
  9. [Statepoint] Replace uses of isX functions with idiomatic isa<X> (details)
  10. [ObjectYAML][MachO] Add error handling in MachOEmitter. (details)
  11. [Statepoint] Reduce scope of usage of ImmutableStatepoint (details)
  12. Temporarily disable the following failing tests on Darwin: (details)
  13. [Analyzer][WebKit] NoUncountedMembersChecker (details)
  14. [gn build] Port 660cda572d6 (details)
  15. [NFC,StackSafety] Add StackSafetyGlobalInfo class (details)
  16. [lldb/Reproducers] Skip or fix the remaining tests. (details)
  17. [lldb/Test] Import all decorators. (details)
  18. [docs] Release notes for DIModule metadata (details)
  19. [Driver][X86] Support branch align options with LTO (details)
Commit dee2bb58107fc3ce438d2a12c778bb0ab485b592 by maskray
[gn build] Port D80579
The file was addedllvm/utils/gn/secondary/llvm/lib/Analysis/ML/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Commit d14ee1553e46634ef6b7eb0d7c0b45fd3c30567f by mtrofin
[llvm][NFC] ProfileSummaryInfo - const-ify APIs

Follow-up from https://reviews.llvm.org/D79920
The file was modifiedllvm/lib/Analysis/ProfileSummaryInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/ProfileSummaryInfo.h
Commit eca963f244c711ab51e1e645241562987c0f8fbf by maskray
[gn build] Add MLAnalysisTests after D80579
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/unittests/Analysis/ML/BUILD.gn
Commit c94c5bf9cce8a4c7ad5e8abbc8f21bad5cf6b889 by listmail
Introduce a GCStatepointInst type analogous to IntrinsicInst subclasses

Back when we had CallSite, we implemented the current Statepoint/ImmutableStatepoint structure in analogous manner.  Now that CallSite has been removed, the structure used for statepoints looks decidely out of place.  gc.statepoint is one of the small handful of intrinsics which are invokable.  Because of this, it can't subclass IntrinsicInst as is idiomatic.

This change simply introduces the GCStatepointInst class, restructures the existing Statepoint/ImmutableStatepoint types to wrap it.  I will be landing a series of changes to sink functionality into GCStatepointInst and updating callers to be more idiomatic.
The file was modifiedllvm/lib/IR/Statepoint.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 00e5d38d40162d049f67b436ad42c9d05092e65c by richard
Do not warn that an expression of the form (void)arr; is unused when
arr is a volatile non-local array.

This fixes a recent regression exposed by removing lvalue-to-rvalue
conversion of discarded volatile arrays. In passing, regularize the
rules we use to determine whether '(void)expr;' warns when expr is a
volatile glvalue.
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp
Commit 1224e619d975c7ecf8017e0ef8210188f39deec4 by maskray
[ELF][test] Fix wrap-no-real.s after D51283

Give %t3.so a DT_SONAME so that the DT_NEEDED entry in a dependent executable has a fixed length.
The file was modifiedlld/test/ELF/wrap-no-real.s
Commit a70edc2b1613b10b65f55a0670e96f9f4e6c2926 by Vitaly Buka
[NFC,StackSafety] Cleanup alloca size calculation
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 74671d5c1491dc9e252a8a10c9065b2f8cc99fba by listmail
Sink first bit of functionality from Statepoint to GCStatepointInst

Starting with the obvious stuff.  I initially tried to include the inline operand sequences too, but managed to get code which confused *me*.  Since several parts of those are being entirely removed in the near future, I may defer that portion until the cleanup is done.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 87bea912c27caaa71ac9bc3d172995994b57e639 by listmail
[Statepoint] Replace uses of isX functions with idiomatic isa<X>

Now that all of the statepoint related routines have classes with isa support, let's cleanup.

I'm leaving the (dead) utitilities in tree for a few days so that I can do the same cleanup downstream without breakage.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
The file was modifiedllvm/lib/Transforms/Utils/StripGCRelocates.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/IR/SafepointIRVerifier.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit 3c3a6e26e7c39096b3df746faeaa743197657a8e by Xing
[ObjectYAML][MachO] Add error handling in MachOEmitter.

Currently, `yaml2macho` doesn't support error handling. This patch helps improve it.

Differential Revision: https://reviews.llvm.org/D80535
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/fat_macho_i386_x86_64.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/sections.yaml
Commit 98a87c65a35335473cf7c233cdb312892fc771a3 by listmail
[Statepoint] Reduce scope of usage of ImmutableStatepoint

Can't quite fully remove it yet as some more items need sunk the GCStatepointInst class from the wrapper, but we can at least reduce scope.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit f3a089506fdcc4a1d658697009572c93e00c4373 by Dan Liew
Temporarily disable the following failing tests on Darwin:

  AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.LongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.SigLongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.LongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.SigLongJmpTest

These failures will be examined properly when time permits.

rdar://problem/62141412
The file was modifiedcompiler-rt/lib/asan/tests/asan_test.cpp
Commit 660cda572d6e05e55a9d959e61aba51790c0abbd by Jan Korous
[Analyzer][WebKit] NoUncountedMembersChecker

Differential Revision: https://reviews.llvm.org/D77178
The file was modifiedclang/docs/analyzer/checkers.rst
The file was addedclang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
Commit f830b406c655ae59888a188302edfbc5d6fa7a13 by llvmgnsyncbot
[gn build] Port 660cda572d6
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 12cd4a51640f5e025043c45a004df66b678ffa9d by Vitaly Buka
[NFC,StackSafety] Add StackSafetyGlobalInfo class
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 5238b80058a6d096220eb9fbf606d9d983f37b0b by Jonas Devlieghere
[lldb/Reproducers] Skip or fix the remaining tests.

After this patch all remaining tests should pass on macOS when replayed
from a reproducer.

To capture the reproducers:

  ./bin/llvm-lit ../llvm-project/lldb/test/ --param lldb-run-with-repro=capture

To replay the reproducers:

  ./bin/llvm-lit ../llvm-project/lldb/test/ --param lldb-run-with-repro=replay
The file was modifiedlldb/test/API/functionalities/load_using_paths/TestLoadUsingPaths.py
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestWriteMemory.py
The file was modifiedlldb/test/API/python_api/symbol-context/TestSymbolContext.py
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
The file was modifiedlldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
The file was modifiedlldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
The file was modifiedlldb/test/API/functionalities/load_unload/TestLoadUnload.py
The file was modifiedlldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py
Commit e5bb542362dfbb6c57a597810d740987afbc4202 by Jonas Devlieghere
[lldb/Test] Import all decorators.

Fixes "NameError: name 'skipIfReproducer' is not defined".
The file was modifiedlldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py
Commit c1d5b831b1cb095370a01e1749a8e9746f8f3de6 by SourabhSingh.Tomar
[docs] Release notes for DIModule metadata

Updated the release notes for the changes in the DIModule metadata.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D80614
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 49544499954912c5a0f02014de53e0bc0234c7af by shengchen.kan
[Driver][X86] Support branch align options with LTO

Summary: Before this patch, we use two different ways to pass options to align branch
depending on whether LTO is enabled. For example, `-mbranches-within-32B-boundaries`
w/o LTO and `-Wl,-plugin-opt=-x86-branches-within-32B-boundaries` w/ LTO.  It's
inconvenient, so this patch unifies the way: we only need to pass options like
`-mbranches-within-32B-boundaries` to align branches, no matter LTO is enabled or not.

Differential Revision: https://reviews.llvm.org/D80289
The file was modifiedclang/test/Driver/x86-malign-branch.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h