Commit
c41372c8a1db8fa0bfda25daeca1f5f4f5145439
by mgorny[lldb] Rename NativeRegisterContext{Watchpoint => DBReg}_x86
Differential Revision: https://reviews.llvm.org/D97210
|
 | lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h |
 | lldb/source/Plugins/Process/Utility/NativeRegisterContextWatchpoint_x86.h |
 | lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.cpp |
 | lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h |
 | lldb/source/Plugins/Process/Utility/CMakeLists.txt |
 | lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h |
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h |
 | lldb/source/Plugins/Process/Utility/NativeRegisterContextWatchpoint_x86.cpp |
Commit
15f067f1c79fac34910eaf50f612854eb1d58bb5
by mgorny[lldb] [test] Workaround symlink-related test failures
Use realpath() when spawning the executable create_after_attach to workaround a FreeBSD plugin (and possibly others) problem. If the executable is started via a path containing a symlink, it is added to the module list twice -- via the real and apparent path. This in turn cases the requested breakpoint to resolve twice.
Use realpath() for main program path in lldb-vscode breakpoint tests to workaround a similar problem. If the passed path does not match the realpath, lldb-vscode does not report the breakpoints as verified and causes tests to fail.
Since the underlying problems are non-trivial to fix and the purpose of these tests is not to reproduce symlink problems, let's apply trivial workarounds to make them pass.
Differential Revision: https://reviews.llvm.org/D97230
|
 | lldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py |
 | lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py |
Commit
95a1305fb4058ef4925fea181f4664ce266337d6
by mgorny[lldb] [test] Skip AVX lldb-server test on non-x86 architectures
Skip the AVX-related lldb-server test on non-x86 architectures, as they do not support AVX. While technically the test worked on Linux because the AVX check would simply return false, other platforms do not provide such a straightforward way of checking for AVX (especially remotely), and the results of such check may need to be interpreted specially for the platform in question.
Differential Revision: https://reviews.llvm.org/D97450
|
 | lldb/test/API/tools/lldb-server/TestLldbGdbServer.py |
Commit
5fe0cab79e184e48a6519eb5408bda99c837648a
by msd.ataei[PowerPC] Removing sqrtd2 and sqrtf4 from list of vectorizable function with MASSV
Under -O3 and -Ofast, the MASSV conversion prevents the sqrt call to be inlined. Inline sqrt is faster than MASSV call on leppc.
Differential Revision: https://reviews.llvm.org/D97487
|
 | llvm/include/llvm/Analysis/VecFuncs.def |
 | llvm/test/CodeGen/PowerPC/lower-massv.ll |
 | llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll |
Commit
b62928b21ec8c8c5f41c7b30adc14bbd027c908c
by llvm-dev[TableGen] Avoid repeated TreePredicateFn::getCodeToRunOnSDNode() calls in MatcherTableEmitter::EmitNodePredicatesFunction loop. NFCI.
|
 | llvm/utils/TableGen/DAGISelMatcherEmitter.cpp |
Commit
2632ba6a358a62c5cbaddc141de81b756b68698f
by wingo[WebAssembly] call_indirect issues table number relocs
If the reference-types feature is enabled, call_indirect will explicitly reference its corresponding function table via TABLE_NUMBER relocations against a table symbol.
Also, as before, address-taken functions can also cause the function table to be created, only with reference-types they additionally cause a symbol table entry to be emitted.
Differential Revision: https://reviews.llvm.org/D90948
|
 | llvm/test/MC/WebAssembly/reloc-code.ll |
 | llvm/test/MC/WebAssembly/basic-assembly.s |
 | llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp |
 | llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp |
 | llvm/test/MC/WebAssembly/call-indirect-relocs.s |
 | llvm/include/llvm/MC/MCSymbolWasm.h |
 | llvm/lib/MC/WasmObjectWriter.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp |
 | llvm/test/MC/WebAssembly/function-alias.ll |
 | lld/test/wasm/compress-relocs.ll |
 | llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td |
 | llvm/test/CodeGen/WebAssembly/multivalue.ll |
 | llvm/test/MC/WebAssembly/reloc-pic.s |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp |
 | llvm/test/CodeGen/WebAssembly/function-pointer64.ll |
 | llvm/test/MC/WebAssembly/weak-alias.s |
 | llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h |
 | llvm/test/MC/WebAssembly/tail-call-encodings.s |
 | llvm/test/MC/WebAssembly/type-index.s |
 | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp |
Commit
a6c81d33667cadb713e28215f6c1f84cdaaaff64
by flo[VPlan] Remove recipes from back to front.
Update the deletion order when destroying VPBasicBlocks. This ensures recipes that depend on earlier ones in the block are removed first. Otherwise this may cause issues when recipes have remaining users later in the block.
|
 | llvm/lib/Transforms/Vectorize/VPlan.h |
Commit
83feaa36ad53ce93ed808169d3316ed757703e47
by thakis[clang-cl] make -f(no-)ident a CoreOption
On clang emits the compiler version string into debug information by default for both dwarf and codeview. That makes compiler output needlessly compiler-version-dependent which makes e.g. comparing object file outputs during a bisect hard. So it's nice if there's an easy way to turn this off.
(On ELF, this flag also controls the .comment section, but that part is ELF-only. The debug-info bit isn't.)
Differential Revision: https://reviews.llvm.org/D97695
|
 | clang/test/Driver/cl-options.c |
 | clang/include/clang/Driver/Options.td |
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
|
 | clang/include/clang/Driver/Options.td |
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
|
 | libcxxabi/test/test_exception_address_alignment.pass.cpp |
 | libcxxabi/test/test_demangle.pass.cpp |
 | libcxxabi/test/catch_multi_level_pointer.pass.cpp |
 | libcxxabi/test/incomplete_type.sh.cpp |
 | libcxx/test/configs/legacy.cfg.in |
 | libcxx/utils/ci/run-buildbot |
 | libcxx/utils/libcxx/compiler.py |
 | libunwind/test/lit.site.cfg.in |
 | libcxxabi/test/dynamic_cast.pass.cpp |
 | libcxxabi/test/catch_ptr_02.pass.cpp |
 | libcxx/utils/libcxx/test/config.py |
 | libcxxabi/test/thread_local_destruction_order.pass.cpp |
 | libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp |
 | libcxxabi/test/exception_object_alignment.pass.cpp |
 | libcxxabi/test/catch_member_data_pointer_01.pass.cpp |
 | libcxxabi/test/lit.site.cfg.in |
 | libcxxabi/test/libcxxabi/test/config.py |
 | libcxxabi/test/catch_function_01.pass.cpp |
 | libcxxabi/test/forced_unwind1.pass.cpp |
 | libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp |
 | libcxxabi/test/uncaught_exceptions.pass.cpp |
 | libcxxabi/test/forced_unwind2.pass.cpp |
 | libcxxabi/test/catch_member_pointer_nullptr.pass.cpp |
 | libcxxabi/test/catch_pointer_nullptr.pass.cpp |
 | libunwind/test/libunwind/test/config.py |
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
|
 | llvm/test/Analysis/CostModel/AArch64/logicalop.ll |
 | llvm/test/Analysis/CostModel/SystemZ/logicalop.ll |
 | llvm/test/Analysis/CostModel/X86/logicalop.ll |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/test/Analysis/CostModel/ARM/logicalop.ll |
 | llvm/test/Analysis/CostModel/PowerPC/logicalop.ll |
 | llvm/test/Analysis/CostModel/AMDGPU/logicalop.ll |
 | llvm/test/Analysis/CostModel/RISCV/logicalop.ll |
Commit
e913a754143f227b4aea5f695a2dcd2349101886
by dblaikieFix 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.
|
 | lldb/source/Interpreter/OptionValue.cpp |
Commit
776be16ba0532dbb3d66cc104d15a7f13a154e3f
by dblaikieFix virtual-dtor warning a different way, since a virtual dtor is not required for this use case.
|
 | lldb/unittests/Interpreter/TestOptionValue.cpp |
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
|
 | lld/MachO/InputFiles.cpp |
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
|
 | lld/test/mach-o/parse-non-lazy-pointers.yaml |
 | lld/test/mach-o/parse-data-in-code-x86.yaml |
 | lld/test/mach-o/interposing-section.yaml |
 | lld/test/mach-o/re-exported-dylib-ordinal.yaml |
 | lld/test/MachO/syslibroot.test |
 | lld/test/mach-o/libresolve-bizarre-root-override.yaml |
 | clang/test/Driver/darwin-ld-platform-version-tvos.c |
 | lld/test/mach-o/mh_dylib_header.yaml |
 | lld/test/mach-o/exported_symbols_list-dylib.yaml |
 | lld/test/mach-o/libresolve-multiple-syslibroots.yaml |
 | lld/test/darwin/cmdline-objc_gc.objtxt |
 | lld/test/mach-o/parse-relocs-x86.yaml |
 | lld/tools/lld/lld.cpp |
 | lld/test/mach-o/filelist.yaml |
 | lld/test/mach-o/parse-tentative-defs.yaml |
 | lld/test/mach-o/objc-image-info-invalid-version.yaml |
 | lld/test/mach-o/arm-interworking.yaml |
 | lld/test/mach-o/exe-segment-overlap.yaml |
 | lld/test/mach-o/parse-data-relocs-arm64.yaml |
 | lld/test/mach-o/parse-function.yaml |
 | lld/test/mach-o/parse-eh-frame.yaml |
 | lld/test/mach-o/lc_segment_filesize.yaml |
 | clang/test/Driver/Inputs/lld/ld64.lld.darwinold |
 | lld/test/mach-o/align_text.yaml |
 | lld/test/mach-o/dylib-install-names.yaml |
 | lld/test/mach-o/lib-search-paths.yaml |
 | lld/test/mach-o/Inputs/swift-version-1.yaml |
 | lld/test/mach-o/objc-category-list-atom.yaml |
 | lld/test/mach-o/objc-image-info-mismatched-swift-version.yaml |
 | lld/test/mach-o/objc-image-info-simulator-vs-host.yaml |
 | lld/test/mach-o/flat_namespace_undef_suppress.yaml |
 | lld/test/mach-o/order_file-basic.yaml |
 | lld/test/mach-o/unwind-info-simple-arm64.yaml |
 | lld/test/mach-o/seg-protection-x86_64.yaml |
 | lld/test/mach-o/parse-cfstring32.yaml |
 | lld/tools/lld/CMakeLists.txt |
 | lld/test/mach-o/parse-tlv-relocs-x86-64.yaml |
 | clang/test/Driver/darwin-ld-platform-version-macos.c |
 | lld/test/mach-o/parse-arm-relocs.yaml |
 | lld/test/mach-o/fat-archive.yaml |
 | lld/test/mach-o/seg-protection-arm64.yaml |
 | lld/test/mach-o/data-only-dylib.yaml |
 | lld/test/mach-o/parse-data-in-code-armv7.yaml |
 | lld/test/mach-o/sectattrs.yaml |
 | lld/test/mach-o/objc_export_list.yaml |
 | lld/test/mach-o/sectalign.yaml |
 | lld/test/mach-o/unwind-info-simple-x86_64.yaml |
 | lld/test/mach-o/data-in-code-load-command.yaml |
 | lld/test/mach-o/version-min-load-command.yaml |
 | llvm/utils/gn/build/BUILD.gn |
 | lld/test/mach-o/rpath.yaml |
 | lld/test/mach-o/force_load-dylib.yaml |
 | lld/test/mach-o/parse-eh-frame-x86-labeled.yaml |
 | lld/test/mach-o/run-tlv-pass-x86-64.yaml |
 | lld/test/mach-o/exe-offsets.yaml |
 | lld/test/darwin/cmdline-objc_gc_only.objtxt |
 | lld/test/mach-o/arm64-relocs-errors-delta64-offset.yaml |
 | lld/test/mach-o/lazy-bind-x86_64.yaml |
 | lld/test/darwin/cmdline-objc_gc_compaction.objtxt |
 | lld/test/mach-o/parse-eh-frame-relocs-x86_64.yaml |
 | lld/test/mach-o/arm64-section-order.yaml |
 | lld/test/mach-o/keep_private_externs.yaml |
 | lld/test/mach-o/parse-compact-unwind32.yaml |
 | lld/test/mach-o/libresolve-z.yaml |
 | lld/test/mach-o/dependency_info.yaml |
 | lld/test/mach-o/arm-interworking-movw.yaml |
 | lld/test/mach-o/dso_handle.yaml |
 | lld/test/mach-o/usage.yaml |
 | lld/test/mach-o/infer-arch.yaml |
 | lld/test/mach-o/objc-image-info-invalid-size.yaml |
 | lld/test/mach-o/twolevel_namespace_undef_warning_suppress.yaml |
 | lld/test/mach-o/parse-text-relocs-arm64.yaml |
 | lld/test/MachO/invalid/stub-link.s |
 | llvm/utils/gn/secondary/lld/tools/lld/BUILD.gn |
 | lld/test/mach-o/hello-world-x86_64.yaml |
 | clang/test/Driver/Inputs/lld/ld64.lld.darwinnew |
 | lld/test/mach-o/eh-frame-relocs-arm64.yaml |
 | lld/test/mach-o/parse-data.yaml |
 | lld/test/mach-o/hello-world-arm64.yaml |
 | lld/test/mach-o/sectcreate.yaml |
 | lld/test/mach-o/upward-dylib-load-command.yaml |
 | clang/test/Driver/darwin-ld-platform-version-ios.c |
 | lld/test/mach-o/parse-literals-error.yaml |
 | lld/test/mach-o/parse-compact-unwind64.yaml |
 | lld/test/mach-o/stack-size.yaml |
 | lld/test/mach-o/mh_bundle_header.yaml |
 | lld/test/mach-o/hello-world-x86.yaml |
 | lld/test/mach-o/write-final-sections.yaml |
 | lld/test/mach-o/gcc_except_tab-got-arm64.yaml |
 | lld/test/mach-o/upward-dylib-paths.yaml |
 | lld/test/mach-o/exported_symbols_list-undef.yaml |
 | lld/test/mach-o/objc-image-info-pass-output.yaml |
 | lld/test/mach-o/library-rescan.yaml |
 | lld/test/mach-o/parse-text-relocs-x86_64.yaml |
 | lld/test/mach-o/Inputs/wrong-arch-error.yaml |
 | lld/test/mach-o/cstring-sections.yaml |
 | lld/test/mach-o/executable-exports.yaml |
 | lld/test/mach-o/objc-image-info-unsupported-gc.yaml |
 | lld/test/mach-o/libresolve-simple.yaml |
 | lld/test/mach-o/image-base.yaml |
 | lld/test/darwin/native-and-mach-o.objtxt |
 | lld/test/MachO/search-paths-darwin.test |
 | lld/test/mach-o/bind-opcodes.yaml |
 | lld/test/mach-o/parse-aliases.yaml |
 | lld/test/mach-o/parse-eh-frame-x86-anon.yaml |
 | lld/test/mach-o/wrong-arch-error.yaml |
 | lld/test/mach-o/PIE.yaml |
 | lld/test/mach-o/framework-user-paths.yaml |
 | clang/test/Driver/darwin-ld-platform-version-watchos.c |
 | lld/test/darwin/cmdline-lto_library.objtxt |
 | lld/test/mach-o/string-table.yaml |
 | lld/test/mach-o/force_load-x86_64.yaml |
 | lld/test/mach-o/dead-strip-globals.yaml |
 | lld/test/mach-o/parse-section-no-symbol.yaml |
 | clang/lib/Driver/ToolChain.cpp |
 | lld/test/mach-o/twolevel_namespace_undef_dynamic_lookup.yaml |
 | lld/test/mach-o/arm64-reloc-negDelta32-fixup.yaml |
 | lld/test/mach-o/parse-cfstring64.yaml |
 | lld/test/mach-o/arm-subsections-via-symbols.yaml |
 | lld/test/mach-o/debug-syms.yaml |
 | lld/test/mach-o/parse-initializers32.yaml |
 | lld/test/mach-o/exported_symbols_list-obj.yaml |
 | lld/test/mach-o/library-order.yaml |
 | lld/test/mach-o/libresolve-user-paths.yaml |
 | lld/test/mach-o/flat_namespace_undef_error.yaml |
 | lld/test/mach-o/version-min-load-command-object.yaml |
 | lld/test/mach-o/mach_header-cpusubtype.yaml |
 | lld/test/mach-o/got-order.yaml |
 | lld/test/mach-o/load-commands-size.yaml |
 | lld/test/mach-o/parse-initializers64.yaml |
 | lld/test/mach-o/source-version.yaml |
 | lld/test/mach-o/error-simulator-vs-macosx.yaml |
 | lld/test/mach-o/empty-sections.yaml |
 | lld/test/mach-o/stub-link.s |
 | lld/test/mach-o/use-simple-dylib.yaml |
 | lld/test/mach-o/do-not-emit-unwind-fde-arm64.yaml |
 | lld/test/mach-o/objc-image-info-host-vs-simulator.yaml |
 | lld/test/mach-o/use-dylib.yaml |
 | lld/test/mach-o/arm-shims.yaml |
 | lld/test/mach-o/parse-literals.yaml |
 | lld/test/mach-o/demangle.yaml |
 | lld/test/mach-o/subsections-via-symbols-default.yaml |
 | lld/test/mach-o/function-starts-load-command.yaml |
 | lld/test/mach-o/hello-world-armv6.yaml |
 | lld/test/MachO/lit.local.cfg |
 | lld/test/mach-o/libresolve-one-syslibroot.yaml |
 | clang/test/Driver/darwin-ld-demangle-lld.c |
 | lld/test/mach-o/hello-world-armv7.yaml |
 | lld/test/mach-o/export-trie-order.yaml |
 | lld/test/mach-o/parse-data-relocs-x86_64.yaml |
 | lld/test/mach-o/sdk-version-error.yaml |
Commit
08f0764ff551c5aa2486c40871453e1ff40fb679
by jpienaarRemove 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
|
 | mlir/lib/IR/Operation.cpp |
 | mlir/lib/IR/Value.cpp |
 | mlir/include/mlir/IR/Operation.h |
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
|
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
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
|
 | clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp |
 | clang-tools-extra/clangd/FindSymbols.cpp |