SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [VE] Fix initializer visibility (details)
  2. [NFC] Inline assertion-only variable (details)
  3. [trace] rename ThreadIntelPT into TraceTrace (details)
  4. [AMDGPU] flat scratch ST addressing mode on gfx10 (details)
  5. Reland "[Modules] Add stats to measure performance of building and loading modules." (details)
  6. [mlir] Add some more std bufferize patterns. (details)
  7. [mlir] Add std.dynamic_tensor_from_elements bufferization. (details)
  8. [mlir][DialectConversion] Fix recursive `clone` calls. (details)
  9. [mlir] Use dynamic_tensor_from_elements in shape.broadcast conversion (details)
  10. Lexer: Update the Lexer to use MemoryBufferRef, NFC (details)
  11. Revert "[Sanitizers] Remove OpenBSD support" + 1 (details)
  12. [libomptarget][amdgcn] Implement missing symbols in deviceRTL (details)
  13. [hmaptool] Fix `NameError: global name 'num_buckets' is not defined` in `action_dump`. (details)
  14. Revert "[gn build] (manually) port d09b08919ca" (details)
  15. lldb: Update for change in `clang::Lexer`'s constructor (details)
  16. [libc++][test] Spell "TEST_CONSTEXPR_CXX17" correctly (details)
  17. [libc++][test] Pass correct ordering to std::merge (details)
  18. [libc++][test] atomic<T> requires trivially copyable T (details)
  19. [libc++][test] Don't violate precondition [atomics.flag]/6 (details)
  20. [libc++][test] test allocator<const T> extension only on libc++ (details)
  21. [libc++][test] Silence MSVC "comparison of signed and unsigned" warning (details)
  22. [libc++][test] Test nonconforming atomic_fetch_XXX overloads only on libc++ (details)
  23. [libc++][test] MSVC has no __PRETTY_FUNCTION__ (details)
  24. clang/Lex: Stop using SourceManager::getBuffer (details)
  25. [GWP-ASan] Cleanup (NFC) (details)
  26. Add option to use older clang ABI behavior when passing certain union types as function arguments (details)
  27. [X86] Fix assert fail when element type is i1. (details)
  28. Revert "Reland "[Modules] Add stats to measure performance of building and loading modules."" (details)
  29. Ensure that checkInitIsICE is called exactly once for every variable (details)
  30. [DAGCombiner] Tighten reasscociation of visitFMA (details)
  31. [ORC] Remove commented out methods accidentally left in in 069919c9ba3. (details)
  32. Fixup clang-tidy after recent Clang change. (details)
  33. Add llvm_unreachable to avoid MSVC warning (details)
  34. [IRCE] Do not transform if loop has small number of iterations (details)
  35. [PowerPC] Add test case for missing `nsw` flag. NFC. (details)
  36. [NPM][StackSafetyAnalysis] Pin uses of -analyze to legacy PM (details)
  37. Refactor tracking of constant initializers for variables. (details)
  38. [SCEV] Recommit "Use nw flag and symbolic iteration count to sharpen ranges of AddRecs", attempt 2 (details)
  39. [FileCollector] Move interface into FileCollectorBase (NFC) (details)
  40. [gcov] Delete CC1 option -test-coverage (details)
  41. Use LLVM_TOOLCHAIN_UTILITIES to allow utils to be installed in the toolchain (details)
  42. [NPM][PFOProfile] Fix some tests under NPM (details)
  43. [COFF][ARM] Fix CodeView for Windows on 32bit ARM targets. (details)
  44. [gcov] Unify driver and CC1 option names for -ftest-coverage & -fprofile-arcs (details)
  45. [mlir][Python] Add python binding to create DenseElementsAttribute. (details)
  46. Adding new Azul representative to security group (details)
  47. [sanitizer] Fix compilation on older systems (details)
  48. [Driver] Clean up -gz & --compress-debug-sections (details)
  49. [LTO][Legacy] Eliminate an unused member of llvm::LTOModule. NFC. (details)
  50. Properly track whether a variable is constant-initialized. (details)
  51. [IR] Adds mustprogress as a LLVM IR attribute (details)
  52. [mlir] Expose Value hierarchy to C API (details)
  53. Revert "[ARM][LowOverheadLoops] Adjust Start insertion." (details)
  54. [ARM][SchedModels] Convert IsCPSRDefinedPred to MCSchedPredicate (details)
  55. [SystemZ] Fix disassembler crashes (details)
  56. [AMDGPU][NFC] Tidy SIOptimizeExecMaskingPreRA for extensibility (details)
  57. [yaml2obj][ELF] - Simplify the code that performs sections validation. (details)
  58. Add a nul byte to packet str before logging, increase default size. (details)
  59. Silence unused variable warning in Release builds. NFCI. (details)
  60. Move clang/Tooling/Core/Lookup.h to clang/Tooling/Refactoring/Lookup.h (details)
  61. [clang-format] Drop clangFrontend dependency for FormatTests (details)
  62. [Sanitizers] Remove OpenBSD support (new attempt) (details)
  63. [clangd] NFC: Resolve Clang-Tidy warnings in Protocol.cpp (details)
Commit 1eb812e06d0f02382f4e91bbc9b74029a7635bd6 by slyfox
[VE] Fix initializer visibility

Before the change attempt to link libLTO.so against shared
LLVM library failed as:

```
[ 76%] Linking CXX shared library ../../lib/libLTO.so
... /usr/bin/cmake -E cmake_link_script CMakeFiles/LTO.dir/link.txt --verbose=1
c++ -o ...libLTO.so.12git ...ibLLVM-12git.so
ld: CMakeFiles/LTO.dir/lto.cpp.o: in function `llvm::InitializeAllTargetInfos()':
include/llvm/Config/Targets.def:31: undefined reference to `LLVMInitializeVETargetInfo'
```

It happens because on linux llvm build system sets default
symbol visibility to "hidden". The fix is to set visibility
back to "default" for exported APIs with LLVM_EXTERNAL_VISIBILITY.

Bug: https://bugs.llvm.org/show_bug.cgi?id=47847

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89633
The file was modifiedllvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp
The file was modifiedllvm/lib/Target/VE/VETargetMachine.cpp
The file was modifiedllvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/VE/VEAsmPrinter.cpp
Commit 8a377f1e3cf4c26f609b1204f9ce1a340f7fb8d4 by rupprecht
[NFC] Inline assertion-only variable
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit 8a203bb22d161d23c6b1195f85ae025e87f03bae by walter erquinigo
[trace] rename ThreadIntelPT into TraceTrace

Renamed ThreadIntelPT to TreaceThread, making it a top-level class. I noticed that this class can and shuld work for any trace plugin and there's nothing intel-pt specific in it.
With that TraceThread change, I was able to move most of the json file parsing logic to the base class TraceSessionFileParser, which makes adding new plug-ins easier.

This originally was part of https://reviews.llvm.org/D89283

Differential Revision: https://reviews.llvm.org/D89408
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was modifiedlldb/source/API/SystemInitializerFull.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was removedlldb/source/Plugins/Trace/intel-pt/ThreadIntelPT.cpp
The file was addedlldb/include/lldb/Target/ProcessTrace.h
The file was removedlldb/source/Plugins/Process/Trace/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.cpp
The file was modifiedlldb/include/lldb/Target/TraceSessionFileParser.h
The file was removedlldb/source/Plugins/Process/Trace/ProcessTrace.h
The file was modifiedlldb/source/Plugins/Process/CMakeLists.txt
The file was addedlldb/source/Target/ProcessTrace.cpp
The file was removedlldb/source/Plugins/Process/Trace/ProcessTrace.cpp
The file was addedlldb/include/lldb/Target/ThreadTrace.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
The file was modifiedlldb/source/Target/TraceSessionFileParser.cpp
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was addedlldb/source/Target/ThreadTrace.cpp
The file was removedlldb/source/Plugins/Trace/intel-pt/ThreadIntelPT.h
The file was modifiedlldb/source/Target/CMakeLists.txt
Commit 6ddadf99018bc5ef91dc57173eb0b8b42a7c6213 by Stanislav.Mekhanoshin
[AMDGPU] flat scratch ST addressing mode on gfx10

GFX10 enables third addressing mode for flat scratch instructions,
an ST mode. In that mode both register operands are omitted and
only swizzled offset is used in addition to flat_scratch base.

Differential Revision: https://reviews.llvm.org/D89501
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was addedllvm/test/MC/AMDGPU/flat-scratch-st-mode.s
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
Commit 4000c9ee18ecebe3ff0f197af8c1fb434ad986e5 by vsapsai
Reland "[Modules] Add stats to measure performance of building and loading modules."

Measure amount of high-level or fixed-cost operations performed during
building/loading modules and during header search. High-level operations
like building a module or processing a .pcm file are motivated by
previous issues where clang was re-building modules or re-reading .pcm
files unnecessarily. Fixed-cost operations like `stat` calls are tracked
because clang cannot change how long each operation takes but it can
perform fewer of such operations to improve the compile time.

Also tracking such stats over time can help us detect compile-time
regressions. Added stats are more stable than the actual measured
compilation time, so expect the detected regressions to be less noisy.

On relanding drop stats in MemoryBuffer.cpp as their value is pretty low
but affects a lot of clients and many of those aren't interested in
modules and header search.

rdar://problem/55715134

Reviewed By: aprantl, bruno

Differential Revision: https://reviews.llvm.org/D86895
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit e3f5073a961076475c286a39a2cba2bf803eb32c by silvasean
[mlir] Add some more std bufferize patterns.

Add bufferizations for extract_element and tensor_from_elements.

Differential Revision: https://reviews.llvm.org/D89594
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
Commit f4abd3ed6d95e66470a0c8cc132e61782896527a by silvasean
[mlir] Add std.dynamic_tensor_from_elements bufferization.

It's unfortunate that this requires adding a dependency on scf dialect
to std bufferization (and hence all of std transforms). This is a bit
perilous. We might want a lib/Transforms/Bufferize/ with a separate
bufferization library per dialect?

Differential Revision: https://reviews.llvm.org/D89667
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/PassDetail.h
Commit 7885bf8b78e21a29e27c598e0aed602de8f15260 by silvasean
[mlir][DialectConversion] Fix recursive `clone` calls.

The framework was not tracking ops created in any regions of the cloned
op.

Differential Revision: https://reviews.llvm.org/D89668
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
Commit 57211fd239a3a3efe89f0b7091f86a167f8301ff by silvasean
[mlir] Use dynamic_tensor_from_elements in shape.broadcast conversion

Now, convert-shape-to-std doesn't internally create memrefs, which was
previously a bit of a layering violation. The conversion to memrefs
should logically happen as part of bufferization.

Differential Revision: https://reviews.llvm.org/D89669
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit b3eff6b7bb31e7ef059a3d238de138849839fbbd by Duncan P. N. Exon Smith
Lexer: Update the Lexer to use MemoryBufferRef, NFC

Update `Lexer` / `Lexer::Lexer` to use `MemoryBufferRef` instead of
`MemoryBuffer*`. Callers that were acquiring a `MemoryBuffer*` via
`SourceManager::getBuffer` were updated, such that if they checked
`Invalid` they use `getBufferOrNone` and otherwise `getBufferOrFake`.

Differential Revision: https://reviews.llvm.org/D89398
The file was modifiedclang/lib/Rewrite/TokenRewriter.cpp
The file was modifiedclang/lib/Rewrite/HTMLRewrite.cpp
The file was modifiedclang/lib/Tooling/Inclusions/HeaderIncludes.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/include/clang/Lex/Lexer.h
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteMacros.cpp
The file was modifiedclang/lib/Frontend/Rewrite/InclusionRewriter.cpp
The file was modifiedclang-tools-extra/clangd/Format.cpp
The file was modifiedclang/lib/Lex/Lexer.cpp
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was modifiedclang/lib/Frontend/VerifyDiagnosticConsumer.cpp
The file was modifiedclang/lib/Lex/PPLexerChange.cpp
Commit 7ecd60bb7022bb681b9dc01a9c232fd93b4b169c by eugenis
Revert "[Sanitizers] Remove OpenBSD support" + 1

Revert "Fix compiler-rt build on Windows after D89640"

This reverts commit a7acee89d68473183cc5021d952a56cdf0ae27d3.
This reverts commit d09b08919ca6e206cd981fdea8b19b1d1188e325.

Reason: breaks Linux / x86_64 build.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/lib/xray/xray_x86_64.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_errno.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_openbsd.cpp
The file was modifiedcompiler-rt/lib/xray/xray_basic_logging.cpp
The file was modifiedcompiler-rt/lib/fuzzer/afl/afl_driver.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/interception/interception_linux.cpp
The file was modifiedcompiler-rt/lib/interception/interception.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerPlatform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/asan/tests/asan_mem_test.cpp
The file was modifiedcompiler-rt/lib/ubsan/ubsan_platform.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
The file was modifiedcompiler-rt/lib/interception/interception_linux.h
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
Commit d27b39ce11629f8742a487f9d1d2a343756d0da7 by jonathanchesterfield
[libomptarget][amdgcn] Implement missing symbols in deviceRTL

[libomptarget][amdgcn] Implement missing symbols in deviceRTL

Malloc, wtime are stubs. Malloc needs a hostrpc implementation which is
a work in progress, wtime needs some experimentation to find out the
multiplier to get a time in seconds as documentation is scarce.

Reviewed By: ronlieb

Differential Revision: https://reviews.llvm.org/D89725
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip
Commit 34ccc3e13bccde6f5cf993c744efe4bcb1fd439a by vsapsai
[hmaptool] Fix `NameError: global name 'num_buckets' is not defined` in `action_dump`.
The file was modifiedclang/utils/hmaptool/hmaptool
Commit 6ca3dd97352013375f907d92a7e1aed7ab80fbc3 by thakis
Revert "[gn build] (manually) port d09b08919ca"

This reverts commit 4d2d287a030fe81a5bf9d982ed8ea26fe3bcee6b.
d09b08919ca got reverted in 7ecd60bb702.
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit f96e16bc15a9a10857681b85b6c8824b9addd9b2 by Duncan P. N. Exon Smith
lldb: Update for change in `clang::Lexer`'s constructor

b3eff6b7bb31e7ef059a3d238de138849839fbbd updated `Lexer::Lexer` to take
`clang::MemoryBufferRef` instead of `clang::MemoryBuffer*`. Update LLDB
to fix the bots.
The file was modifiedlldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
Commit 24ab5787b44435d0c7e805a8579753e48be9f5b9 by Casey
[libc++][test] Spell "TEST_CONSTEXPR_CXX17" correctly

These three algorithm tests are incorrectly using `_LIBCPP_CONSTEXPR_AFTER_CXX17` instead of `TEST_CONSTEXPR_CXX17`.
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
Commit fce9ca3c1e3adf9f506cd0e195b7f27b4f8db0c4 by Casey
[libc++][test] Pass correct ordering to std::merge

The predicate passed to `merge` must induce a strict weak ordering on its arguments.
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
Commit dccc742c2257159abec6b287223bb159bbf4b91c by Casey
[libc++][test] atomic<T> requires trivially copyable T

The author of these tests apparently forgot that `atomic_{,un}signed_lock_free` are already specializations of `atomic`.
The file was modifiedlibcxx/test/std/atomics/types.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
Commit 877766573b21a72b04371b8790c0828dc7176f5d by Casey
[libc++][test] Don't violate precondition [atomics.flag]/6

... which forbids passing `memory_order_release` or `memory_order_acq_rel` to either overload of `atomic_flag_test_explicit`.
The file was modifiedlibcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp
Commit d5971a63ca3280525b99e1544c83f1b007ad0a34 by Casey
[libc++][test] test allocator<const T> extension only on libc++
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
Commit f92d874fe58555c1e6982cf78c257f3188d429f9 by Casey
[libc++][test] Silence MSVC "comparison of signed and unsigned" warning
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp
Commit 7f82352a2c766114bf1f2aa70f458da4e7304043 by Casey
[libc++][test] Test nonconforming atomic_fetch_XXX overloads only on libc++

The Standard doesn't include the
```c++
template<class T>
T* atomic_fetch_meow(atomic<T*>, ...);
```
templates these tests are testing.

(See https://bugs.llvm.org/show_bug.cgi?id=47908)
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
Commit a668ad92d5e2161e07e1a435a19ea5072f52a989 by Casey
[libc++][test] MSVC has no __PRETTY_FUNCTION__

Use `__FUNCSIG__` instead when compiling with MSVC. While we're touching `makeTypeIDImp`, remove the warning suppression for C4640 "construction of local static object is not thread safe" since C1XX now correctly constant-initializes `id`.
The file was modifiedlibcxx/test/support/type_id.h
Commit b03ae74319f19c3b86982638671d00205a91d263 by Duncan P. N. Exon Smith
clang/Lex: Stop using SourceManager::getBuffer

Update clang/lib/Lex to stop relying on a `MemoryBuffer*`, using the
`MemoryBufferRef` from `getBufferOrNone` since both locations had logic
for checking validity of the buffer. There's potentially a functionality
change, since the logic was wrong (it checked for `nullptr`, which was
never returned by the old API), but if that was reachable the new
behaviour should be better.

Differential Revision: https://reviews.llvm.org/D89402
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
Commit ae9d0400283229032fb3795b7b50920bf9be38dc by kostyak
[GWP-ASan] Cleanup (NFC)

Cleaning up some of the GWP-ASan code base:
- lots of headers didn't have the correct file name
- adding `#ifdef` guard to `utilities.h`
- correcting an `#ifdef` guard based on actual file name
- removing an extra `;`
- clang-format'ing the code (`-style=llvm`)

Differential Revision: https://reviews.llvm.org/D89721
The file was modifiedcompiler-rt/lib/gwp_asan/platform_specific/common_posix.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/utilities.h
The file was modifiedcompiler-rt/lib/gwp_asan/optional/segv_handler_posix.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/guarded_pool_allocator.h
The file was modifiedcompiler-rt/lib/gwp_asan/platform_specific/utilities_posix.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/optional/segv_handler.h
The file was modifiedcompiler-rt/lib/gwp_asan/crash_handler.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/crash_handler.h
The file was modifiedcompiler-rt/lib/gwp_asan/definitions.h
The file was modifiedcompiler-rt/lib/gwp_asan/random.cpp
Commit 774ab60125eeaeac8bf2470b7aaa6aa428d68453 by douglas.yung
Add option to use older clang ABI behavior when passing certain union types as function arguments

Recently commit D78699 (commit 26cfb6e562f1), fixed clang's behavior with respect
to passing a union type through a register to correctly follow the ABI. However,
this is an ABI breaking change with earlier versions of the clang compiler, so we
should add an -fclang-abi-compat option to address this. Additionally, the PS4 ABI
requires the older behavior, so that is added as well.

This change adds a Ver11 value to the ClangABI enum that when it is set (or the
target is the PS4 triple), we skip the ABI fix introduced in D78699.

Differential Revision: https://reviews.llvm.org/D89747
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/X86/avx-union.c
Commit 3a85472af2b6f758c43999e0c013142271f72e74 by pengfei.wang
[X86] Fix assert fail when element type is i1.

extract_vector_elt will turn type vxi1 into i8, which triggers the assertion fail.
Since we don't really handle vxi1 cases in below code, we can just return from here.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D89096
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit a28678e20a112f8851fda2550e415924420bdcd5 by vsapsai
Revert "Reland "[Modules] Add stats to measure performance of building and loading modules.""

This reverts commit 4000c9ee18ecebe3ff0f197af8c1fb434ad986e5.

Test "LLVM :: Other/statistic.ll" is failing on Windows.
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit 76c0092665867a6defcd328ba0d0d976eb65d991 by richard
Ensure that checkInitIsICE is called exactly once for every variable
for which it matters.

This is a step towards separating checking for a constant initializer
(in which std::is_constant_evaluated returns true) and any other
evaluation of a variable initializer (in which it returns false).
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/AST/ComparisonCategories.cpp
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp
The file was modifiedclang/test/CodeGen/enable_if.c
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/test/SemaCXX/i-c-e-cxx.cpp
The file was modifiedclang/include/clang/Serialization/ASTRecordWriter.h
The file was modifiedclang/test/SemaCXX/constant-expression.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/Sema/enable_if.c
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
Commit 1b2fe71ecf6bd647a244fc64c231e31dfe1faaa2 by qiucofan
[DAGCombiner] Tighten reasscociation of visitFMA

From LangRef, FMF contract should not enable reassociating to form
arbitrary contractions. So it should not help rearrange nodes like
(fma (fmul x, c1), c2, y) into (fma x, c1*c2, y).

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D89527
The file was modifiedllvm/test/CodeGen/PowerPC/fma-combine.ll
The file was modifiedllvm/test/CodeGen/X86/fma-scalar-combine.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 1044dfa7edb72041c20409207cda532d28cb60f4 by Lang Hames
[ORC] Remove commented out methods accidentally left in in 069919c9ba3.

Thanks for spotting this Mehdi!
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
Commit c7a7bba8c101f575ef10cb54737033d71f2b722c by richard
Fixup clang-tidy after recent Clang change.
The file was modifiedclang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
Commit ad0b2d9d46a368248ed27bd27d3500cc8028456e by gcmn
Add llvm_unreachable to avoid MSVC warning

Without this I get a warning about not all paths returning.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D89760
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 38799975ceb21da0e3d2ce70c3f23ba69adf0269 by serguei.katkov
[IRCE] Do not transform if loop has small number of iterations

IRCE has some overhead for runtime checks and in case number of iteration is small
the overhead can kill the benefit from optimizations.

This CL bases on BlockFrequencyInfo of pre-header and header to estimate the
number of loop iterations. If it is less than irce-min-estimated-iters we do not transform the loop.

Probably it is better to make more complex cost model but for simplicity it seems the be enough.

The usage of BFI is added only for new pass manager and tries to use it efficiently.

Reviewers: ebrevnov, dantrushin, asbirlea, mkazantsev
Reviewed By: mkazantsev
Subscribers: llvm-commits, fhahn
Differential Revision: https://reviews.llvm.org/D89541
The file was modifiedllvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
The file was addedllvm/test/Transforms/IRCE/low-iterations.ll
Commit 638fee625d43f663bf61168b793a402ad8c509fc by lkail
[PowerPC] Add test case for missing `nsw` flag. NFC.
The file was addedllvm/test/CodeGen/PowerPC/setcc-sub-flag.ll
Commit 0f0ff33037aa11f0a67a3540529131abde52f038 by aeubanks
[NPM][StackSafetyAnalysis] Pin uses of -analyze to legacy PM

Tests already have corresponding NPM RUN lines.
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 3692d20d2b994ce865ffb97096b05218279e1ebd by richard
Refactor tracking of constant initializers for variables.

Instead of framing the interface around whether the variable is an ICE
(which is only interesting in C++98), primarily track whether the
initializer is a constant initializer (which is interesting in all C++
language modes).

No functionality change intended.
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
Commit a10a64e7e334dc878d281aba9a46f751fe606567 by mkazantsev
[SCEV] Recommit "Use nw flag and symbolic iteration count to sharpen ranges of AddRecs", attempt 2

Fixed wrapping range case & proof methods reduced to constant range
checks to save compile time.

Differential Revision: https://reviews.llvm.org/D89381
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/eliminate-trunc.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
Commit f44fb130253aa5486380604101ce50a62a8d668b by Jonas Devlieghere
[FileCollector] Move interface into FileCollectorBase (NFC)

For the reproducers in LLDB we want to switch to an "immediate mode"
FileCollector that writes every file encountered straight to disk so we
can generate the actual mapping out-of-process. This patch moves the
interface into a separate base class.

Differential revision: https://reviews.llvm.org/D89742
The file was modifiedllvm/include/llvm/Support/FileCollector.h
The file was modifiedllvm/lib/Support/FileCollector.cpp
Commit 0ab222e7d730bb1f8b676e64b51615624e08614b by i
[gcov] Delete CC1 option -test-coverage

The name is unfortunate because it is similar to the driver option -ftest-coverage.
It turns out aside from one occurrence in a test, this option is not used.
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was removedclang/test/CodeGenCXX/coverage.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
Commit 024921a5e165cc2e0fa7c1b3732aff6f3f5df60b by Jonas Devlieghere
Use LLVM_TOOLCHAIN_UTILITIES to allow utils to be installed in the toolchain

Make it possible to specify a list of utilities that should be installed
in the toolchain.

Differential revision: https://reviews.llvm.org/D89762
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 7e9411efcf09e31d2db9e82dde378e40c908fc82 by aeubanks
[NPM][PFOProfile] Fix some tests under NPM
The file was modifiedllvm/test/Transforms/PGOProfile/indirectbr.ll
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
Commit 51892a42dac55558f7dbec80ced570e72ff387c4 by me
[COFF][ARM] Fix CodeView for Windows on 32bit ARM targets.

Create the LLVM / CodeView register mappings for the 32-bit ARM Window targets.

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D89622
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
The file was modifiedllvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
The file was modifiedllvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/PDBExtras.cpp
The file was addedllvm/test/DebugInfo/COFF/ARMNT/arm-register-variables.ll
The file was modifiedllvm/lib/DebugInfo/CodeView/EnumTables.cpp
The file was addedllvm/test/DebugInfo/COFF/ARMNT/lit.local.cfg
Commit 545c687c4b06b403915b92f422ddad737a6357b9 by i
[gcov] Unify driver and CC1 option names for -ftest-coverage & -fprofile-arcs

No need to use -femit-coverage-notes and -femit-coverage-data.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/cuda-no-pgo-or-coverage.cu
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGen/code-coverage.c
The file was modifiedclang/test/CodeGen/code-coverage-tsan.c
The file was modifiedclang/test/Driver/coverage.c
Commit 0e6beb29966abc6666e73ab5f151cb9754f04901 by stellaraccident
[mlir][Python] Add python binding to create DenseElementsAttribute.

* Interops with Python buffers/numpy arrays to create.
* Also cleans up 'get' factory methods on some types to be consistent.
* Adds mlirAttributeGetType() to C-API to facilitate error handling and other uses.
* Punts on a lot of features of the ElementsAttribute hierarchy for now.
* Does not yet support bool or string attributes.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D89363
The file was modifiedmlir/test/Bindings/Python/ir_attributes.py
The file was modifiedmlir/test/Bindings/Python/ir_types.py
The file was addedmlir/test/Bindings/Python/ir_array_attributes.py
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
Commit 037ef7d70c49e76bddf36140cca1606a3023240b by apilipenko
Adding new Azul representative to security group

Adding myself as a new Azul representative to security group.

Differential Revision: https://reviews.llvm.org/D89287
The file was modifiedllvm/docs/Security.rst
Commit f97ca48b1cbbf5da065e94271cb3af4f1c907dd4 by Vitaly Buka
[sanitizer] Fix compilation on older systems

Fixes https://bugs.llvm.org/show_bug.cgi?id=47896
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Commit 2484e9159c54def19aac69c4a217a55329da54d2 by i
[Driver] Clean up -gz & --compress-debug-sections

* Make cc1 and cc1as --compress-debug-sections an alias for --compress-debug-sections=zlib
* Make -gz an alias for -gz=zlib

The new behavior is consistent with GCC when binutils>=2.26 is detected:
-gz is translated to --compress-debug-sections=zlib instead of --compress-debug-sections.
The file was modifiedclang/test/Misc/cc1as-compress.s
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/tools/driver/cc1as_main.cpp
The file was modifiedclang/test/Driver/compress.c
The file was modifiedclang/test/Driver/compress-noias.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 1329944c221ce2187acd30920dde8d443f8dac19 by ikudrin
[LTO][Legacy] Eliminate an unused member of llvm::LTOModule. NFC.

This is a follow-up for D62935 where the corresponding API methods were removed.

Differential Revision: https://reviews.llvm.org/D89472
The file was modifiedllvm/include/llvm/LTO/legacy/LTOModule.h
Commit 08c8d5bc51c512e605840b8003fcf38c86d0fc96 by richard
Properly track whether a variable is constant-initialized.

This fixes miscomputation of __builtin_constant_evaluated in the
initializer of a variable that's not usable in constant expressions, but
is readable when constant-folding.

If evaluation of a constant initializer fails, we throw away the
evaluated result instead of keeping it as a non-constant-initializer
value for the variable, because it might not be a correct value.
To avoid regressions for initializers that are foldable but not formally
constant initializers, we now try constant-evaluating some globals in
C++ twice: once to check for a constant initializer (in an mode where
is_constannt_evaluated returns true) and again to determine the runtime
value if the initializer is not a constant initializer.
The file was modifiedclang/test/CodeGenCXX/builtin-is-constant-evaluated.cpp
The file was modifiedclang/test/SemaCXX/attr-require-constant-initialization.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was addedclang/test/PCH/builtin-is-constant-evaluated.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/test/SemaCXX/builtin-is-constant-evaluated.cpp
Commit 595c6156068458481395d0f87da16e51a3121a4e by a335pate
[IR] Adds mustprogress as a LLVM IR attribute

This adds the LLVM IR attribute `mustprogress` as defined in LangRef through D86233. This attribute will be applied to functions with in languages like C++ where forward progress is guaranteed. Functions without this attribute are not required to make progress.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D85393
The file was addedllvm/test/Assembler/mustprogress-parse-error-1.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was addedllvm/test/Assembler/mustprogress-parse-error-0.ll
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was addedllvm/test/Assembler/mustprogress-parse-error-2.ll
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/AsmParser/LLToken.h
Commit 39613c2cbc8f11ff6246211385134f0a548b5b57 by zinenko
[mlir] Expose Value hierarchy to C API

The Value hierarchy consists of BlockArgument and OpResult, both of which
derive Value. Introduce IsA functions and functions specific to each class,
similarly to other class hierarchies. Also, introduce functions for
pointer-comparison of Block and Operation that are necessary for testing and
are generally useful.

Reviewed By: stellaraccident, mehdi_amini

Differential Revision: https://reviews.llvm.org/D89714
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/IR.h
Commit 6dcbc323fd8778ba6db1c4e76c809f93fc82efc5 by david.green
Revert "[ARM][LowOverheadLoops] Adjust Start insertion."

This reverts commit 38f625d0d1360b035271422bab922d22ed04d79a.

This commit contains some holes in its logic and has been causing
issues since it was commited. The idea sounds OK but some cases were not
handled correctly. Instead of trying to fix that up later it is probably
simpler to revert it and work to reimplement it in a more reliable way.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-threshold.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fma-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
Commit 991e86156c88dfa64c908fe36da3a1945c3d2e50 by eleviant
[ARM][SchedModels] Convert IsCPSRDefinedPred to MCSchedPredicate

Differential revision: https://reviews.llvm.org/D89460
The file was modifiedllvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
The file was modifiedllvm/lib/Target/ARM/ARMSchedule.td
The file was modifiedllvm/lib/Target/ARM/ARMScheduleA57.td
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
Commit c299f3555d77aef598506b254dcf728928e616de by ulrich.weigand
[SystemZ] Fix disassembler crashes

The "Size" value returned by SystemZDisassembler::getInstruction is
used by common code even in the case where the routine returns
failure.  If that Size value exceeds the number of bytes remaining
in the section, that could cause disassembler crashes.

Fixed by never returning more than the number of bytes remaining.
The file was modifiedllvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
Commit 6aabbeadae2024f468990e256706148a2c05f644 by carl.ritson
[AMDGPU][NFC] Tidy SIOptimizeExecMaskingPreRA for extensibility

Remove duplicate code and move things around to make it easier to
add additional optimisations to the pass.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D89619
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
Commit b9e2b59680ad1bbfd2b9110b3ebf3d2b22cad51b by grimar
[yaml2obj][ELF] - Simplify the code that performs sections validation.

This:
1) Changes the return type of `MappingTraits<T>>::validate` to `std::string`
instead of `StringRef`. It allows to create more complex error messages.

2) It introduces std::vector<std::pair<StringRef, bool>> getEntries():
a new virtual method of Section, which is the base class for all sections.
It returns names of special section specific keys (e.g. "Entries") and flags that
says if them exist in a YAML. The code in validate() uses this list of entries
descriptions to generalize validation.
This approach was discussed in the D89039 thread.

Differential revision: https://reviews.llvm.org/D89463
The file was modifiedllvm/lib/ObjectYAML/MachOYAML.cpp
The file was modifiedllvm/unittests/Support/YAMLIOTest.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/MachOYAML.h
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/lib/ObjectYAML/MinidumpYAML.cpp
The file was modifiedlld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/include/llvm/ObjectYAML/MinidumpYAML.h
Commit c932266c8d0414672974eb777bbbb86f1d0f122d by Jason Molenda
Add a nul byte to packet str before logging, increase default size.

Add a nul byte to the stream in CommunicationKDP::CheckForPacket
before we send the GetData() to a Log::Printf as a c-str.  Avoids
a crash when logging kdp communications and memory layout isn't
in your favor.
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
Commit f2cca0b291491f25dc6d2c073d71a2799625ad3b by benny.kra
Silence unused variable warning in Release builds. NFCI.
The file was modifiedclang/lib/AST/Decl.cpp
Commit a2214757e2ca445112f19395493a78e820389655 by Alexander.Richardson
Move clang/Tooling/Core/Lookup.h to clang/Tooling/Refactoring/Lookup.h

This allows removing the clangAST dependency from libclangToolingCore and
therefore allows clang-format to be built without depending on clangAST.
Before 1166 files had to be compiled for clang-format, now only 796.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D89708
The file was modifiedclang/lib/Tooling/Refactoring/CMakeLists.txt
The file was modifiedclang/lib/Format/FormatInternal.h
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
The file was removedclang/include/clang/Tooling/Core/Lookup.h
The file was removedclang/lib/Tooling/Core/Lookup.cpp
The file was modifiedclang/unittests/Tooling/LookupTest.cpp
The file was addedclang/include/clang/Tooling/Refactoring/Lookup.h
The file was modifiedclang/lib/Tooling/Core/CMakeLists.txt
The file was addedclang/lib/Tooling/Refactoring/Lookup.cpp
Commit 66a3b9073ac116f0ee39baf625c733abe18140e5 by Alexander.Richardson
[clang-format] Drop clangFrontend dependency for FormatTests

This allows building the clang-format unit tests in only 657 ninja steps
rather than 1257 which allows for much faster incremental builds after a
git pull.

Reviewed By: MyDeveloperDay
Differential Revision: https://reviews.llvm.org/D89709
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/unittests/Format/CleanupTest.cpp
The file was modifiedclang/unittests/Tooling/RewriterTestContext.h
The file was modifiedclang/unittests/Format/CMakeLists.txt
The file was modifiedclang/unittests/Format/FormatTestRawStrings.cpp
The file was modifiedclang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
The file was modifiedclang/unittests/Format/FormatTestObjC.cpp
Commit 53065c543fe3f1e7913c9e8f2487d76034afa249 by David CARLIER
[Sanitizers] Remove OpenBSD support (new attempt)

- Fixing VS compiler and other cases settings this time.

Reviewers: dmajor, hans

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D89759
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerPlatform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/xray/xray_basic_logging.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/lib/asan/tests/asan_mem_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
The file was modifiedcompiler-rt/lib/interception/interception_linux.cpp
The file was modifiedcompiler-rt/lib/xray/xray_x86_64.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/interception/interception_linux.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
The file was modifiedcompiler-rt/lib/ubsan/ubsan_platform.h
The file was modifiedcompiler-rt/lib/fuzzer/afl/afl_driver.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
The file was modifiedcompiler-rt/lib/interception/interception.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_errno.h
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_openbsd.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
Commit 691eb814c1ae38d5015bf070dfed3fd54d542582 by kbobyrev
[clangd] NFC: Resolve Clang-Tidy warnings in Protocol.cpp

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D89771
The file was modifiedclang-tools-extra/clangd/Protocol.cpp