SuccessChanges

Summary

  1. [clang] SimpleMFlag helper in Options.td (details)
  2. [libc++/abi] Allow running back-deployment testing against libc++abi (details)
  3. [TTI] Consider select form of and/or i1 as having arithmetic cost (details)
  4. Fix a warning about named return value not being moved-from. (details)
  5. Fix virtual-dtor warning a different way, since a virtual dtor is not required for this use case. (details)
  6. [lld-macho][nfc] Remove TODO regarding addends (details)
  7. [lld-macho] Switch default to new Darwin backend (details)
  8. Remove use of tuple for multiresult type storage (details)
  9. [AMDGPU] Add IntrWillReturn to recently added intrinsics (details)
  10. [clangd] Improve document symbols support for Objective-C categories and methods (details)
Commit 21280d35d652788309176831bd88257b58f674f9 by Stanislav.Mekhanoshin
[clang] SimpleMFlag helper in Options.td

This is the new helper to create a boolean -m and -mno-
options.

Differential Revision: https://reviews.llvm.org/D97069
The file was modifiedclang/include/clang/Driver/Options.td (diff)
Commit 60ba1fefab927af64bc8a03958661bb8c1412684 by Louis Dionne
[libc++/abi] Allow running back-deployment testing against libc++abi

Before this patch, we could only link against the back-deployment libc++abi
dylib. This patch allows linking against the just-built libc++abi, but
running against the back-deployment one -- just like we do for libc++.

Also, add XFAIL markup to flag expected errors.

Differential Revision: https://reviews.llvm.org/D91069
The file was modifiedlibcxxabi/test/exception_object_alignment.pass.cpp (diff)
The file was modifiedlibcxxabi/test/catch_function_01.pass.cpp (diff)
The file was modifiedlibcxxabi/test/catch_pointer_nullptr.pass.cpp (diff)
The file was modifiedlibcxxabi/test/lit.site.cfg.in (diff)
The file was modifiedlibcxx/test/configs/legacy.cfg.in (diff)
The file was modifiedlibcxxabi/test/test_aux_runtime_op_array_new.pass.cpp (diff)
The file was modifiedlibcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp (diff)
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py (diff)
The file was modifiedlibcxxabi/test/thread_local_destruction_order.pass.cpp (diff)
The file was modifiedlibunwind/test/libunwind/test/config.py (diff)
The file was modifiedlibcxxabi/test/catch_ptr_02.pass.cpp (diff)
The file was modifiedlibcxxabi/test/catch_member_pointer_nullptr.pass.cpp (diff)
The file was modifiedlibcxxabi/test/test_exception_address_alignment.pass.cpp (diff)
The file was modifiedlibcxxabi/test/forced_unwind2.pass.cpp (diff)
The file was modifiedlibcxxabi/test/uncaught_exceptions.pass.cpp (diff)
The file was modifiedlibunwind/test/lit.site.cfg.in (diff)
The file was modifiedlibcxxabi/test/forced_unwind1.pass.cpp (diff)
The file was modifiedlibcxxabi/test/dynamic_cast.pass.cpp (diff)
The file was modifiedlibcxx/utils/libcxx/test/config.py (diff)
The file was modifiedlibcxxabi/test/incomplete_type.sh.cpp (diff)
The file was modifiedlibcxxabi/test/catch_member_data_pointer_01.pass.cpp (diff)
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
The file was modifiedlibcxx/utils/libcxx/compiler.py (diff)
The file was modifiedlibcxxabi/test/catch_multi_level_pointer.pass.cpp (diff)
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp (diff)
Commit c89d9d8a48c08ffc28e0dbd7372b7070d48fd587 by aqjune
[TTI] Consider select form of and/or i1 as having arithmetic cost

This is a patch that updates the cost of `select i1 a, b, false` to be equivalent to that of `and i1 a, b`
as well as the cost of `select i1 a, true, b` equivalent to `or i1 a, b`.

Until now, these selects were folded into and/or i1 by InstCombine, but the transformation is poison-unsafe.
This is a step towards removing the unsafe transformation. D93065 has relevant transformations linked.
These selects should be translated into the assemblies as and/or i1 do in the same manner. The cost should be equivalent.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D97360
The file was addedllvm/test/Analysis/CostModel/ARM/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/PowerPC/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/X86/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/AArch64/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/RISCV/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/AMDGPU/logicalop.ll
The file was addedllvm/test/Analysis/CostModel/SystemZ/logicalop.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
Commit e913a754143f227b4aea5f695a2dcd2349101886 by dblaikie
Fix a warning about named return value not being moved-from.

The use of an rvalue reference here was using reference lifetime
extension needlessly - the code is simpler and more efficient without
it.
The file was modifiedlldb/source/Interpreter/OptionValue.cpp (diff)
Commit 776be16ba0532dbb3d66cc104d15a7f13a154e3f by dblaikie
Fix virtual-dtor warning a different way, since a virtual dtor is not required for this use case.
The file was modifiedlldb/unittests/Interpreter/TestOptionValue.cpp (diff)
Commit f083f652c3fdc97e0bda278fee8354a0cf7ff551 by jezng
[lld-macho][nfc] Remove TODO regarding addends

There was initially some concern around the correct handling of pcrel
section relocations with r_length != 2. But it looks like there are no such
relocations in practice -- x86_64's pcrel section relocs all have r_length == 2,
and ARM64 doesn't even have pcrel section relocs. So we can replace the TODO
with an assert.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D97576
The file was modifiedlld/MachO/InputFiles.cpp (diff)
Commit 415c0cd698a8f0784172d19d542a3b525d1bb9b0 by jezng
[lld-macho] Switch default to new Darwin backend

The new Darwin backend for LLD is now able to link reasonably large
real-world programs on x86_64. For instance, we have achieved
self-hosting for the X86_64 target, where all LLD tests pass when
building lld with itself on macOS. As such, we would like to make it the
default back-end.

The new port is now named `ld64.lld`, and the old port remains
accessible as `ld64.lld.darwinold`

This [annoucement email][1] has some context. (But note that, unlike
what the email says, we are no longer doing this as part of the LLVM 12
branch cut -- instead we will go into LLVM 13.)

Numerous mechanical test changes were required to make this change; in
the interest of creating something that's reviewable on Phabricator,
I've split out the boring changes into a separate diff (D95905). I plan to
merge its contents with those in this diff before landing.

(@gkm made the original draft of this diff, and he has agreed to let me
take over.)

[1]: https://lists.llvm.org/pipermail/llvm-dev/2021-January/147665.html

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D95204
The file was modifiedlld/test/mach-o/data-only-dylib.yaml (diff)
The file was modifiedlld/test/mach-o/arm-subsections-via-symbols.yaml (diff)
The file was modifiedlld/test/mach-o/parse-data.yaml (diff)
The file was modifiedlld/test/darwin/native-and-mach-o.objtxt (diff)
The file was modifiedlld/test/mach-o/libresolve-simple.yaml (diff)
The file was modifiedlld/test/mach-o/parse-section-no-symbol.yaml (diff)
The file was modifiedclang/lib/Driver/ToolChain.cpp (diff)
The file was modifiedlld/test/mach-o/upward-dylib-paths.yaml (diff)
The file was modifiedlld/test/mach-o/re-exported-dylib-ordinal.yaml (diff)
The file was modifiedlld/test/mach-o/unwind-info-simple-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/use-simple-dylib.yaml (diff)
The file was modifiedlld/test/mach-o/arm64-relocs-errors-delta64-offset.yaml (diff)
The file was modifiedlld/test/mach-o/parse-initializers32.yaml (diff)
The file was modifiedlld/test/mach-o/exported_symbols_list-undef.yaml (diff)
The file was modifiedlld/test/mach-o/parse-function.yaml (diff)
The file was modifiedlld/test/mach-o/seg-protection-x86_64.yaml (diff)
The file was modifiedllvm/utils/gn/secondary/lld/tools/lld/BUILD.gn (diff)
The file was modifiedlld/test/mach-o/parse-text-relocs-arm64.yaml (diff)
The file was modifiedlld/tools/lld/lld.cpp (diff)
The file was modifiedlld/test/mach-o/export-trie-order.yaml (diff)
The file was modifiedlld/test/mach-o/source-version.yaml (diff)
The file was modifiedlld/test/mach-o/subsections-via-symbols-default.yaml (diff)
The file was modifiedlld/test/mach-o/mh_dylib_header.yaml (diff)
The file was modifiedlld/test/mach-o/Inputs/wrong-arch-error.yaml (diff)
The file was modifiedlld/test/mach-o/arm-interworking-movw.yaml (diff)
The file was modifiedclang/test/Driver/darwin-ld-platform-version-macos.c (diff)
The file was modifiedlld/test/mach-o/hello-world-x86.yaml (diff)
The file was modifiedlld/test/mach-o/sectalign.yaml (diff)
The file was modifiedlld/test/mach-o/upward-dylib-load-command.yaml (diff)
The file was modifiedlld/test/mach-o/parse-compact-unwind32.yaml (diff)
The file was modifiedlld/test/mach-o/empty-sections.yaml (diff)
The file was modifiedlld/test/MachO/syslibroot.test (diff)
The file was modifiedlld/test/mach-o/libresolve-one-syslibroot.yaml (diff)
The file was modifiedlld/test/mach-o/string-table.yaml (diff)
The file was modifiedlld/test/darwin/cmdline-objc_gc.objtxt (diff)
The file was modifiedlld/test/mach-o/arm-interworking.yaml (diff)
The file was modifiedlld/test/mach-o/arm64-reloc-negDelta32-fixup.yaml (diff)
The file was modifiedlld/test/mach-o/parse-tlv-relocs-x86-64.yaml (diff)
The file was removedclang/test/Driver/Inputs/lld/ld64.lld.darwinnew
The file was modifiedlld/test/mach-o/unwind-info-simple-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/parse-literals-error.yaml (diff)
The file was modifiedclang/test/Driver/darwin-ld-platform-version-watchos.c (diff)
The file was modifiedllvm/utils/gn/build/BUILD.gn (diff)
The file was addedclang/test/Driver/Inputs/lld/ld64.lld.darwinold
The file was modifiedlld/test/mach-o/lc_segment_filesize.yaml (diff)
The file was modifiedlld/test/mach-o/mh_bundle_header.yaml (diff)
The file was modifiedlld/test/mach-o/mach_header-cpusubtype.yaml (diff)
The file was modifiedlld/test/mach-o/parse-cfstring32.yaml (diff)
The file was modifiedlld/test/mach-o/function-starts-load-command.yaml (diff)
The file was modifiedlld/test/mach-o/filelist.yaml (diff)
The file was modifiedlld/test/mach-o/seg-protection-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/executable-exports.yaml (diff)
The file was modifiedlld/test/mach-o/bind-opcodes.yaml (diff)
The file was modifiedlld/test/mach-o/sectattrs.yaml (diff)
The file was modifiedlld/test/mach-o/do-not-emit-unwind-fde-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/sectcreate.yaml (diff)
The file was modifiedlld/test/mach-o/libresolve-user-paths.yaml (diff)
The file was modifiedlld/test/MachO/invalid/stub-link.s (diff)
The file was modifiedlld/test/mach-o/rpath.yaml (diff)
The file was modifiedlld/test/mach-o/got-order.yaml (diff)
The file was modifiedlld/test/mach-o/parse-eh-frame-x86-labeled.yaml (diff)
The file was modifiedlld/test/mach-o/parse-non-lazy-pointers.yaml (diff)
The file was modifiedlld/test/mach-o/keep_private_externs.yaml (diff)
The file was modifiedlld/test/mach-o/write-final-sections.yaml (diff)
The file was modifiedlld/test/darwin/cmdline-objc_gc_compaction.objtxt (diff)
The file was modifiedlld/test/mach-o/library-rescan.yaml (diff)
The file was modifiedlld/test/mach-o/order_file-basic.yaml (diff)
The file was modifiedlld/test/mach-o/parse-cfstring64.yaml (diff)
The file was modifiedlld/test/mach-o/fat-archive.yaml (diff)
The file was modifiedlld/test/mach-o/stack-size.yaml (diff)
The file was modifiedlld/test/darwin/cmdline-objc_gc_only.objtxt (diff)
The file was modifiedlld/test/mach-o/hello-world-armv7.yaml (diff)
The file was modifiedlld/test/mach-o/parse-relocs-x86.yaml (diff)
The file was modifiedlld/test/mach-o/parse-eh-frame-x86-anon.yaml (diff)
The file was modifiedlld/test/mach-o/hello-world-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/use-dylib.yaml (diff)
The file was modifiedlld/test/mach-o/parse-aliases.yaml (diff)
The file was modifiedlld/test/mach-o/parse-text-relocs-x86_64.yaml (diff)
The file was modifiedclang/test/Driver/darwin-ld-demangle-lld.c (diff)
The file was modifiedlld/test/MachO/search-paths-darwin.test (diff)
The file was modifiedlld/test/mach-o/parse-tentative-defs.yaml (diff)
The file was modifiedlld/test/mach-o/exported_symbols_list-dylib.yaml (diff)
The file was modifiedlld/test/mach-o/flat_namespace_undef_suppress.yaml (diff)
The file was modifiedlld/test/mach-o/data-in-code-load-command.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-invalid-version.yaml (diff)
The file was modifiedlld/test/mach-o/dead-strip-globals.yaml (diff)
The file was modifiedlld/test/mach-o/PIE.yaml (diff)
The file was modifiedlld/test/mach-o/align_text.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-simulator-vs-host.yaml (diff)
The file was modifiedlld/test/mach-o/parse-data-relocs-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/parse-initializers64.yaml (diff)
The file was modifiedclang/test/Driver/darwin-ld-platform-version-tvos.c (diff)
The file was modifiedlld/test/mach-o/load-commands-size.yaml (diff)
The file was modifiedlld/tools/lld/CMakeLists.txt (diff)
The file was modifiedlld/test/mach-o/eh-frame-relocs-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/cstring-sections.yaml (diff)
The file was modifiedlld/test/mach-o/image-base.yaml (diff)
The file was modifiedlld/test/mach-o/usage.yaml (diff)
The file was modifiedlld/test/mach-o/arm-shims.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-host-vs-simulator.yaml (diff)
The file was modifiedclang/test/Driver/darwin-ld-platform-version-ios.c (diff)
The file was modifiedlld/test/mach-o/force_load-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/parse-compact-unwind64.yaml (diff)
The file was modifiedlld/test/mach-o/version-min-load-command-object.yaml (diff)
The file was modifiedlld/test/mach-o/dso_handle.yaml (diff)
The file was modifiedlld/test/mach-o/demangle.yaml (diff)
The file was modifiedlld/test/mach-o/objc-category-list-atom.yaml (diff)
The file was modifiedlld/test/darwin/cmdline-lto_library.objtxt (diff)
The file was modifiedlld/test/mach-o/run-tlv-pass-x86-64.yaml (diff)
The file was modifiedlld/test/mach-o/dylib-install-names.yaml (diff)
The file was modifiedlld/test/mach-o/libresolve-bizarre-root-override.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-unsupported-gc.yaml (diff)
The file was modifiedlld/test/mach-o/lazy-bind-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/parse-eh-frame.yaml (diff)
The file was modifiedlld/test/mach-o/exported_symbols_list-obj.yaml (diff)
The file was modifiedlld/test/mach-o/twolevel_namespace_undef_dynamic_lookup.yaml (diff)
The file was modifiedlld/test/mach-o/objc_export_list.yaml (diff)
The file was modifiedlld/test/mach-o/hello-world-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/hello-world-armv6.yaml (diff)
The file was modifiedlld/test/mach-o/interposing-section.yaml (diff)
The file was modifiedlld/test/mach-o/parse-literals.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-mismatched-swift-version.yaml (diff)
The file was modifiedlld/test/mach-o/parse-data-relocs-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-invalid-size.yaml (diff)
The file was modifiedlld/test/mach-o/debug-syms.yaml (diff)
The file was modifiedlld/test/mach-o/objc-image-info-pass-output.yaml (diff)
The file was modifiedlld/test/mach-o/framework-user-paths.yaml (diff)
The file was modifiedlld/test/mach-o/force_load-dylib.yaml (diff)
The file was modifiedlld/test/mach-o/lib-search-paths.yaml (diff)
The file was modifiedlld/test/mach-o/version-min-load-command.yaml (diff)
The file was modifiedlld/test/mach-o/infer-arch.yaml (diff)
The file was modifiedlld/test/mach-o/Inputs/swift-version-1.yaml (diff)
The file was modifiedlld/test/mach-o/parse-data-in-code-x86.yaml (diff)
The file was modifiedlld/test/mach-o/twolevel_namespace_undef_warning_suppress.yaml (diff)
The file was modifiedlld/test/mach-o/gcc_except_tab-got-arm64.yaml (diff)
The file was modifiedlld/test/mach-o/arm64-section-order.yaml (diff)
The file was modifiedlld/test/mach-o/dependency_info.yaml (diff)
The file was modifiedlld/test/mach-o/error-simulator-vs-macosx.yaml (diff)
The file was modifiedlld/test/mach-o/flat_namespace_undef_error.yaml (diff)
The file was modifiedlld/test/mach-o/exe-segment-overlap.yaml (diff)
The file was modifiedlld/test/mach-o/stub-link.s (diff)
The file was modifiedlld/test/mach-o/parse-data-in-code-armv7.yaml (diff)
The file was modifiedlld/test/mach-o/parse-arm-relocs.yaml (diff)
The file was modifiedlld/test/mach-o/wrong-arch-error.yaml (diff)
The file was modifiedlld/test/mach-o/exe-offsets.yaml (diff)
The file was modifiedlld/test/mach-o/libresolve-multiple-syslibroots.yaml (diff)
The file was modifiedlld/test/mach-o/parse-eh-frame-relocs-x86_64.yaml (diff)
The file was modifiedlld/test/mach-o/sdk-version-error.yaml (diff)
The file was modifiedlld/test/mach-o/library-order.yaml (diff)
The file was modifiedlld/test/mach-o/libresolve-z.yaml (diff)
The file was modifiedlld/test/MachO/lit.local.cfg (diff)
Commit 08f0764ff551c5aa2486c40871453e1ff40fb679 by jpienaar
Remove use of tuple for multiresult type storage

Move the results in line with the op instead. This results in each
operation having its own types recorded vs single tuple type, but comes
at benefit that every mutation doesn't incurs uniquing. Ran into cases
where updating result type of operation led to very large memory usage.

Differential Revision: https://reviews.llvm.org/D97652
The file was modifiedmlir/lib/IR/Operation.cpp (diff)
The file was modifiedmlir/include/mlir/IR/Operation.h (diff)
The file was modifiedmlir/lib/IR/Value.cpp (diff)
Commit 216dee9170dce78bb5da960fe770acb0599e81b2 by jay.foad
[AMDGPU] Add IntrWillReturn to recently added intrinsics

This adds IntrWillReturn to the gfx90a mfma intrinsics, to match all the
other mfma intrinsics, and llvm.amdgcn.live.mask, to match
llvm.amdgcn.ps.live.

Differential Revision: https://reviews.llvm.org/D97675
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td (diff)
Commit 5a2141e3a08ccaacbdb8faf64a47347531b015e0 by davg
[clangd] Improve document symbols support for Objective-C categories and methods

- Categories will now show up as `MyClass(Category)` instead of
  `Category` and `MyCategory()` instead of `(anonymous)` in document
  symbols

- Methods will now be shown as `-selector:` or `+selector:`
  instead of `selector:` to differentiate between instance and class
  methods in document symbols

Differential Revision: https://reviews.llvm.org/D96612
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp (diff)