[SPIR-V] Fix builtin name extraction for templated functions (#173027)
This patch improves the `lookupBuiltinNameHelper` function to handle
demangled function signatures more robustly.
SPIR-V backend failed to get builtin function name from demangled calls
when the function signature contained complex template types.
For example, a demangled call like:
`__spv::__spirv_CooperativeMatrixKHR<short, ...>*
__spirv_CooperativeMatrixLoadKHR<...>(...)`
was not correctly parsed to extract `__spirv_CooperativeMatrixLoadKHR`.
krb5: Expose missing symbols
Add symbols found in the port but not in base. This requires replacing
a shared libkrb5profile.so with libkrb5profile.a (with -fPIC so it can
be used by shared libraries). We do this by making libkrb5profile
INTERNALLIB.
Base currently has libkrb5profile in a shared library. The patch moves
those functions to the various "consumer" libraries as the port does.
Symbols that should be in the other libraries are in libkrb5profile.so.
This is causing some ports issues.
PR: 291695
Reported by: michaelo, markj, Chris Inacio <inacio at andrew.cmu.edu>
Tested by: michaelo
Fixes: ae07a5805b19
Reviewed by: michaelo (previous version)
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D54323
netstat: Remove padding from cc and stack fields
Trim white space padding that gets added libxo fields cc and stack when
using -C and -c.
The padding is only visible if you're using multiple stacks or
congestion algorithms.
PR: 292262
Reviewed by: asomers, tuexen
Approved by: asomers (mentor)
Differential Revision: https://reviews.freebsd.org/D54709
(cherry picked from commit faa31fc0e7acc1c53bba2b69a63e9ff55d24faf7)
[LifetimeSafety] Enable temporary destructors in intra-TU analysis (#176812)
Enable implicit and temporary destructors in lifetime safety analysis CFG build options.
Updated test cases to verify the changes:
- Added a new test run configuration in `warn-lifetime-analysis-nocfg.cpp` that includes the experimental lifetime safety inference and TU analysis flags
- Modified `warn-lifetime-safety.cpp` to also verify both function-only and TU-level analysis
Note that we miss instantiation chain in the diagnostics in intra-TU mode of the analysis!
libpkg: store ignored shlibs in manifest and db
Store ignored provided/required shlibs in the manifest and database.
This commit does not yet do anything with the ignored shlibs other than
read them from a user provided manifest and store them in the database.
Integration with shared library analysis and the existing
SHLIB_{PROVIDE,REQUIRE}_IGNORE_{GLOB,REGEX} global options will be
implemented in the next commit.
Sponsored by: The FreeBSD Foundation
libpkg: fix removal during iteration bugs
These are the same type of bug fixed in 01165121d076dfd090b,
unfortunately that commit didn't catch all the instances.
Sponsored by: The FreeBSD Foundation
libpkg: populate shilbs_{provided,required}_ignore
All provided/required shlibs found by pkg_analyse_files() which are not
included in shlibs_{provided,required} due to filtering are now added to
shlibs_{provided,required}_ignore instead.
Furthermore, it is now possible to filter shilbs by adding them to
shlibs_{provided,required}_ignore in a manifest passed to pkg create.
Sponsored by: The FreeBSD Foundation
InstSimplify: Handle nsz in fabs of known positive fold
The current tests for the fold use fma with a squared input.
This isn't entirely correct because fma can return -0 in this case.
Extend the fold to perform it with nsz. Also extend the tests to
test with an unknown value for the addend. The known normal constant is
almost special case that disproves a -0 result.
Split out from https://github.com/llvm/llvm-project/pull/175614
[AArch64][Driver] Allow runtime detection to override default features. (#176340)
Currently, most extensions controlled through -march and -mcpu options
are handled in a bitset of AArch64::ExtensionSet. However, extensions
detected at runtime for native compilation are handled in a separate
list of CPU features; once most of the parsing logic has run, the bitset
is converted to a feature list, added after the features detected at
runtime, and the resulting list is used from there on out.
This has the downside that runtime-detected features are unable to
override default CPU extensions. For example, if a CPU enables +aes in
its processor definition, but aes support is not detected at runtime,
the feature currently remains enabled---even though
unsupported---because default features are enabled after the runtime
logic attempts to disable them.
This patch inserts runtime-detected features directly into the extension
set such that these options can take precedence over extensions enabled
by default. The general parsing order for mcpu=native becomes:
[9 lines not shown]
[X86] Remove extra MOV after widening atomic load (#148898)
This change adds patterns to optimize out an extra MOV
present after widening the atomic load.