SuccessChanges

Summary

  1. [llvm-objcopy][MachO] Add llvm-bitcode-strip driver (details)
  2. Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups (details)
  3. [llvm-objcopy][MachO] Clean up the interface of Object (details)
  4. [gn build] (manually) port 5495b691646 (details)
  5. DebugInfo: Cleanup RLE dumping, using a length-constrained DataExtractor rather than carrying the end offset separately (details)
  6. [X86] Invert the compares in inline-asm-flag-output.ll so that the setcc instruction condition matches the test name. NFC (details)
  7. [X86] Fix copy paste mistake in @ccnp flag. (details)
  8. [lld-macho] create __TEXT,__unwind_info from __LD,__compact_unwind (details)
  9. [IRSim] Adding ilist for IRInstructionData. (details)
  10. [ASAN] Properly deal with musttail calls in ASAN (details)
  11. [AArch64][GlobalISel] Add legalization and selection support for <4 x s16> G_SHL. (details)
  12. [X86] Return from SimplifyDemandedBitsForTargetNode after calculating known bits for VSHLI/VSRAI/VSRLI. (details)
Commit 5495b6916469c0fc242df4fc650b50848d75911b by alexshap
[llvm-objcopy][MachO] Add llvm-bitcode-strip driver

This diff adds llvm-bitcode-strip driver to llvm-objcopy.
In the future this will enable us to build a replacement for the tool bitcode_strip.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D87212
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/tool-name.test (diff)
The file was modifiedllvm/test/lit.cfg.py (diff)
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/tool-version.test (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/tool-help-message.test (diff)
The file was modifiedllvm/test/CMakeLists.txt (diff)
The file was addedllvm/tools/llvm-objcopy/BitcodeStripOpts.td
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt (diff)
Commit 90fffdd0f705bfb480810cef087305567dc4f6cf by thakis
Revert "[gn build] (manually) port 9b6765e784b3" anf follow-ups

9b6765e784b3 was reverted in 549e55b3d5634.

This reverts commit 442801a7b9b5460114498c48c12b8af40e495188.
This reverts commit 929d91a55616d4fcf4754044b063644807b87fbe.
This reverts commit 7c2d83347f4ea146af1aca72fe289294aaf212be.
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn (diff)
The file was removedllvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni
Commit 2ca68b6542cf1df79613ac99d41ac58b2a7cea48 by alexshap
[llvm-objcopy][MachO] Clean up the interface of Object

Remove the method addLoadCommand which was used only in a single place.
NFC.

Test plan: make check-all
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp (diff)
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h (diff)
Commit 528a1f121c55793dbae46293ba4a088dd79de7f5 by thakis
[gn build] (manually) port 5495b691646
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn (diff)
Commit ad68a8b9526601c5a778d74b33e2d660fbc52772 by dblaikie
DebugInfo: Cleanup RLE dumping, using a length-constrained DataExtractor rather than carrying the end offset separately
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h (diff)
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp (diff)
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp (diff)
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s (diff)
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h (diff)
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 (diff)
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 (diff)
The file was modifiedllvm/test/CodeGen/X86/inline-asm-flag-output.ll (diff)
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 modifiedlld/MachO/OutputSegment.h (diff)
The file was modifiedlld/MachO/SyntheticSections.h (diff)
The file was addedlld/test/MachO/compact-unwind.test
The file was addedlld/test/MachO/tools/validate-unwind-info.py
The file was addedlld/MachO/UnwindInfoSection.h
The file was addedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was modifiedlld/MachO/CMakeLists.txt (diff)
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/unittests/Analysis/IRSimilarityIdentifierTest.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h (diff)
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp (diff)
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 (diff)
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/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir (diff)
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff)
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 (diff)