[RFC][CodeGen] Add generic target feature checks for intrinsics (#201470)
This PR adds target-independent infrastructure for annotating LLVM
intrinsics with required subtarget feature expressions.
It introduces a TargetFeatures string field to intrinsic TableGen
records. TableGen emits an intrinsic-to-feature mapping table.
Both SelectionDAG and GlobalISel now perform this check before lowering
target intrinsics. This allows targets to opt in by annotating intrinsic
definitions directly, rather than adding custom checks during lowering,
legalization, or instruction selection.
This PR uses one AMDGPU intrinsic as an example.
tests/bin/expr - fix the regex & length tests for UTF-8 input
If LC_CTYPE is to be set to a UTF-8 charset, the input must be
valid UTF-8 encoded data, or the results will not be what is expected.
0xFF as input is *not* ever valid in a UTF-8 string. It cannot be
the initial byte of a character (the biggest conceivable value for
that is 0xFC and even that is beyond what current UTF-8 allows, the
actual biggest is 0xF4), and it cannot be a trailing byte, as those
always have 1 0 as the two higest bits (ie: range is 0x80..0xBF)
mbrtowc() fix a stupid typo in the previous version.
No idea how I managed to miss this previously. This update should
make at least some of the ATF tests (and other stuff) which failed
after the previous change start working again.
[Sema][NFC] Extract allocation overload diagnostics (#206219)
This extracts the code that emits diagnostics when no viable function is
found for allocation overload resolution to reduce the diff in #203824.
[clang][ssaf] Add `StaticLibrary` data structure (#205946)
This change introduces the `StaticLibrary` data structure, the SSAF analogue of `ar`, `libtool -static`, or `lib.exe`: a single-architecture bundle of `TUSummary` objects. `StaticLibrary` only stores `TUSummaryEncoding` because it will be used by `clang-ssaf-linker` that does not decode the summary data. We don't plan to create a decoded variant because there will be no consumer. Support for constructing and linking static libraries will be introduced in future PRs.
rdar://180665891
posix_spawn(3): create a guard page below the stack for rfork_thread on x86
Reviewed by: kevans
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D57955
net-im/abaddon: Fix build on 32bit arches by optioning out voice support
PR: 296329
Sponsored by: UNIS Labs
Co-authored-by: Vladimir Druzenko <vvd at FreeBSD.org>
[Lanai] Force AsmPrinterEndPass (#206623)
So that no pass instrumentation ends up preventing the addition of this
necessary pass.
Also makes this consistent with X86.
[Clang][OpenMP][NFC] Remove unnecessary LParentLoc in clause classes (#206386)
The LParentLoc is already a data member of the OMPVarListClause class.
The OMPThreadLimitClause and OMPNumTeamsClause classes inherit from
OMPVarListClause and should not need to have their own LParentLoc.
devel/brz: Fix with python 3.12
This is backported from upstream changes in brz 3.3.5 to get us by until
the larger switch to the 3.3 stream.
While here replace gettext with gettext-tools in USES - port doesn't
link with libintl, but uses msgfmt during build.
PR: 296361 296283
Sponsored by: UNIS Labs