Progress:
In progressChanges

Summary

  1. [gn build] (manually) port 5495b691646 (details)
  2. DebugInfo: Cleanup RLE dumping, using a length-constrained DataExtractor rather than carrying the end offset separately (details)
  3. [X86] Invert the compares in inline-asm-flag-output.ll so that the setcc instruction condition matches the test name. NFC (details)
  4. [X86] Fix copy paste mistake in @ccnp flag. (details)
  5. [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind (details)
  6. [IRSim] Adding ilist for IRInstructionData. (details)
  7. [ASAN] Properly deal with musttail calls in ASAN (details)
  8. [AArch64][GlobalISel] Add legalization and selection support for <4 x s16> G_SHL. (details)
  9. [X86] Return from SimplifyDemandedBitsForTargetNode after calculating known bits for VSHLI/VSRAI/VSRLI. (details)
  10. Add -Wno-error=unknown flag to clang-format. (details)
  11. Revert "Temporarily Revert "[clangd] Add Random Forest runtime for code completion."" (details)
Commit 528a1f121c55793dbae46293ba4a088dd79de7f5 by thakis
[gn build] (manually) port 5495b691646
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
Commit ad68a8b9526601c5a778d74b33e2d660fbc52772 by dblaikie
DebugInfo: Cleanup RLE dumping, using a length-constrained DataExtractor rather than carrying the end offset separately
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
Commit 5e6baf78e5f334585ec998e10b9d992db6994d40 by craig.topper
[X86] Invert the compares in inline-asm-flag-output.ll so that the setcc instruction condition matches the test name. NFC

Also add nounwind to the tests to remove cfi directives.
The file was modifiedllvm/test/CodeGen/X86/inline-asm-flag-output.ll
Commit 58ecbbcdcddf80b289c449b86d5996d58fba0d78 by craig.topper
[X86] Fix copy paste mistake in @ccnp flag.

We were treating @ccp and @ccnp the same.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/inline-asm-flag-output.ll
Commit 2124ca1d5cb67cf494fb6605d1d437a40610e6ef by gkm
[lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind

Digest the input `__LD,__compact_unwind` and produce the output `__TEXT,__unwind_info`. This is the initial commit with the major functionality.

Successor commits will add handling for ...
* `__TEXT,__eh_frame`
* personalities & LSDA
* `-r` pass-through

Differential Revision: https://reviews.llvm.org/D86805
The file was addedlld/MachO/UnwindInfoSection.cpp
The file was addedlld/test/MachO/compact-unwind.test
The file was modifiedlld/MachO/CMakeLists.txt
The file was addedlld/test/MachO/tools/validate-unwind-info.py
The file was modifiedlld/MachO/Writer.cpp
The file was addedlld/MachO/UnwindInfoSection.h
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/MachO/SyntheticSections.h
The file was addedlld/test/MachO/tools/generate-cfi-funcs.py
Commit 132aaec4f27e76af252ec95fe959f8f9588644df by andrew.litteken
[IRSim] Adding ilist for IRInstructionData.

The IRInstructionData structs are a different representation of the
program.  This list treats the program as if it was "flattened" and
the only parent is this list.  This lets us easily create ranges of
instructions.

Differential Revision: https://reviews.llvm.org/D86969
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit 11453740bc6fb7c9a5fba3e0761060fc2182dc14 by xun
[ASAN] Properly deal with musttail calls in ASAN

When address sanitizing a function, stack unpinsoning code is inserted before each ret instruction. However if the ret instruciton is preceded by a musttail call, such transformation broke the musttail call contract and generates invalid IR.
This patch fixes the issue by moving the insertion point prior to the musttail call if there is one.

Differential Revision: https://reviews.llvm.org/D87777
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was addedllvm/test/Instrumentation/AddressSanitizer/musttail.ll
Commit 5a50f8b39f4e02cc05e78f1faf3c82c9c7449026 by Amara Emerson
[AArch64][GlobalISel] Add legalization and selection support for <4 x s16> G_SHL.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
Commit 721d57f952ba0dbe02908fc897374dd6324668b9 by craig.topper
[X86] Return from SimplifyDemandedBitsForTargetNode after calculating known bits for VSHLI/VSRAI/VSRLI.

We were breaking out of the switch which falls into the default
implementation of SimplifyDemandedBitsForTargetNode which is a
wrapper around computeKnownBits. So we end up doing the recursion
and known bits calculation all over again. Instead we should return
with the known bits we calculated in the switch.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f64903fd81764f1fde7aeb00eea5e1d488458f63 by joachim
Add -Wno-error=unknown flag to clang-format.

Currently newer clang-format options cannot be included in .clang-format files, if not all users can be forced to use an updated version.
This patch tries to solve this by adding an option to clang-format, enabling to ignore unknown (newer) options.

Differential Revision: https://reviews.llvm.org/D86137
The file was modifiedclang/docs/ClangFormat.rst
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedllvm/lib/Support/YAMLParser.cpp
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedllvm/include/llvm/Support/YAMLParser.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedllvm/unittests/ObjectYAML/YAMLTest.cpp
Commit 985deba9319be464673c1002767f8a3ec597480d by usx
Revert "Temporarily Revert "[clangd] Add Random Forest runtime for code completion.""

We intend to replace heuristics based code completion ranking with a Decision Forest Model.

This patch introduces a format for representing the model and an inference runtime that is code-generated at build time.
- Forest.json contains all the trees as an array of trees.
- Features.json describes the features to be used.
- Codegen file takes the above two files and generates CompletionModel containing Feature struct and corresponding Evaluate function.
   The Evaluate function maps a feature to a real number describing the relevance of this candidate.
- The codegen is part of build system and these files are generated at build time.
- Proposes a way to test the generated runtime using a test model.
  - Replicates the model structure in unittests.
  - unittest tests both the test model (for correct tree traversal) and the real model (for sanity).

This reverts commit 549e55b3d5634870aa9d42135f51ad46a6a0e347.
The file was addedclang-tools-extra/clangd/unittests/decision_forest_model/features.json
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was addedclang-tools-extra/clangd/quality/model/features.json
The file was addedclang-tools-extra/clangd/unittests/decision_forest_model/forest.json
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was addedclang-tools-extra/clangd/quality/CompletionModel.cmake
The file was addedclang-tools-extra/clangd/unittests/DecisionForestTests.cpp
The file was addedclang-tools-extra/clangd/unittests/decision_forest_model/CategoricalFeature.h
The file was addedclang-tools-extra/clangd/quality/README.md
The file was addedclang-tools-extra/clangd/quality/model/forest.json
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was addedclang-tools-extra/clangd/quality/CompletionModelCodegen.py