[lldb] Nominate John Harrison and Ebuka Ezike as lldb-dap maintainers (#175031)
As the lead maintainer, I've been asked by the project council to
confirm that we have an up-to-date list of active maintainers for LLDB.
In light of that, I'd like to nominate Ebuka and John as lldb-dap
maintainer and replace Greg, who hasn't been active in this area
recently. I did not move Greg to "former maintainer" as he's still
listed for other components.
As a reminder, our community policies regarding the responsibilities of
maintainers can be found here:
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
[lldb] Make PlatformWasm a RemoteAwarePlatform (#175263)
This PR makes `PlatformWasm` a `RemoteAwarePlatform` that can connect to
a remote GDB platform server. `PlatformWasmRemoteGDBServer` inherits
from `PlatformRemoteGDBServer`, with the only difference that it picks
the correct Process plugin when launching and attaching. The approach is
identical to the one taken by `PlatformAndroid`.
The context is that we're working on a platform based approach for
discovering and attaching Wasm processes running under JSC with the
[newly added debugging
support](https://github.com/WebKit/WebKit/pull/51462).
[mlir][Python] downcast Value to BlockArgument or OpResult (#175264)
This PR adds "downcasting" of `ir.Value` to either `BlockArgument` or
`OpResult` (and then potentially further down if a user-registered
"value caster" exists). Also this PR changes `__str__` to return the
correct thing (`OpResult(...)` or `BlockArgument(...)` instead of
generic `Value(...)`).
libgeom: Fix segfault in 32-on-64 case
We were using strtoul() to parse object identifiers, which are kernel
pointers. This works fine as long as the kernel and userland match,
but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX
for all objects, resulting in memory corruption when we later pick the
wrong object while resolving consumer-producer references.
MFC after: 1 week
PR: 292127
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54452
(cherry picked from commit 27894e20f140ee2729c14b589035870c8185b87d)
libgeom: Improve type safety of xml2tree code
When resolving references, assert that the type of the object we find
is what we expect. This will help prevent memory corruption if two
objects of different types somehow end up with the same identifier.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54454
(cherry picked from commit 4b0d5d1d6a7c9773e38882feb4747a76b37a645c)
linuxkpi: Correct kstrtobool
Implement the exact same logic as in Linux:
* Accept 'e', 't', 'y', '1', "on" for true.
* Accept 'd', 'f', 'n', '0', "of" for false.
* Disregard any characters beyond that.
* Check that the string is not null, but don't check the result pointer.
MFC after: 1 week
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: bz, emaste
Differential Revision: https://reviews.freebsd.org/D54451
(cherry picked from commit f86148d2777d4d7985ed8f4ae957c41c44bd2484)
depend-cleanup: Force a clean build when options change
Similar to the build epoch check, cache a list of source options in the
object tree, and force a clean build if the cached list does not match
the current list, after filtering out options which are known not to
affect the build (e.g. CLEAN, TESTS, WARNS).
This also adds a DEPEND_CLEANUP option (which defaults to yes unless
the CLEAN option is set) which can be used to skip depend-cleanup for
faster incremental builds.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D52011
(cherry picked from commit 1d52d5c5372a43655a252880d34088fa56aa2530)
linuxkpi: Don't clobber result on failure
In kstrto*(), don't assign to *res until we know the conversion is
successful, and address issues that may result in warnings if code
that uses <linux/kstrtox.h> is compiled at high warning levels.
MFC after: 1 week
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: bz, emaste
Differential Revision: https://reviews.freebsd.org/D54440
(cherry picked from commit 3542d60fb8042474f66fbf2d779ed8c5a80d0f78)
[mlir][Python] don't build libnanobind if module only has "pure" sources (#175090)
Like IREE's
[`IREECompilerBuildPythonModules`](https://github.com/iree-org/iree/blob/47fe908217caef04be21608cfcf45d44410f8dad/compiler/bindings/python/CMakeLists.txt#L300-L305).
Note, setting `MLIR_BINDINGS_PYTHON_NB_DOMAIN` on
`add_mlir_python_modules` explicitly would also workaround issues
related to this (and is generally recommended for projects building
multiple bindings packages).
---------
Co-authored-by: Rahul Kayaith <rkayaith at amd.com>
[Support][NFC] Drop unnecessary default lambdas (#175577)
These lambdas must be instantiated and code-generated in multiple CUs;
instead use the null/default state of std::function as default state.
Very minor compile-time improvement of Clang/LLVM.
InstCombine: Handle fadd in SimplifyDemandedFPClass
Note some of the tests currently fail with alive, but not
due to this patch. Namely, when performing the fadd x, 0 -> x
simplification in functions with non-IEEE denormal handling.
The existing instsimplify ignores the denormals-are-zero hazard by
checking cannotBeNegativeZero instead of isKnownNeverLogicalZero.
Also note the self handling doesn't really do anything yet, other
than propagate consistent known-fpclass information until there is
multiple use support.
This also leaves behind the original ValueTracking support, without
switching to the new KnownFPClass:fadd utility. This will be easier
to clean up after the subsequent fsub support patch.
InstCombine: Improve SimplifyDemandedFPClass min/max handling
Refine handling of minimum/maximum and minimumnum/maximumnum. The
previous folds to input were based on sign bit checks. This was too
conservative with 0s. This can now consider -0 as less than or equal
to +0 as appropriate, account for nsz. It additionally can handle
cases like one half is known positive normal and the other subnormal.