[NFC][Analysis] Use `isa<ConstantPointerNull>` for null pointer checks
Make Analysis null pointer checks use `ConstantPointerNull` rather than generic
null value checks.
[libc] Implement the linux-specific memfd_create syscall wrapper (#197439)
I'm using the MFD constants from the kernel header as that's what was
done for mmap, though it would be relatively simple to declare these
ourselves, as they are not architecture-dependent.
[FIRToMemRef] Fix fir.convert insertion inside omp.wsloop
When replaceFIRMemrefs inserted a fir.convert before an op inside a
LoopWrapperInterface region (e.g. omp.simd inside omp.wsloop), it
violated the single-nested-op invariant, producing a verifier error.
Fix by walking up the LoopWrapperInterface parent chain and inserting
before the outermost wrapper instead.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
[libc] Remove sysconf from Scudo integration test entrypoints (#197639)
sysconf moved behind LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS in commit
8146920541c4. When that flag is OFF (the default), the target is not
built as an OBJECT library, so referencing it via add_entrypoint_library
causes a CMake generation error on the libc-x86_64-debian-fullbuild bot.
Scudo does not use sysconf, so this is a safe removal.
Assisted-by: Automated tooling, human reviewed.
[AArch64][clang] Improve -mcpu= and -mtune= error messages too (#197640)
Similar to my previous change improving the error message for
`-march=` in #197441, this changes `-mcpu=` and `-mtune=` arguments
to only report the first invalid feature flag, rather than the
entire string.
This is a much clearer error message for the user.
[AArch64][clang] Improve -march= error message with many feature flags (#197441)
When calling `clang` with a large number of feature flags, the entire
argument is printed as an error message if one of the feature flags is
invalid.
For example, before this change, when providing a large number of features
to `-march=` with one of them invalid, an error message such as this is
printed:
```
clang: error: unsupported argument 'armv9.6a+sme2+sme2p1+sve2+sve2p1+profile
+crypto+aes+sha2+sha3+sm4+memtag+ssbs+bf16+i8mm+dotprod+ls64+rcpc3+brbe+gcs
+faminmax+fp8+fp8fma+fp8dot4+fp8dot2+sme-f8f32+the+lut+lsui+pops+occmo
+rme-gpc3+d128+invalidfeature'
```
and a user doesn't know which of the `+feature` flags is actually invalid.
After this change, the following error message is printed:
```
[2 lines not shown]
[LV] Avoid crashing for vector calls with scalar byte types (#197417)
If a parameter to a vector function variant is uniform or linear, check
whether the type is SCEVable first. Byte types aren't, so would cause
an assert. We could improve this later if needed.
[LLVM][Constants] Remove the option to disable vector ConstantFP support. (#197427)
Removes the command line options:
-use-constant-fp-for-fixed-length-splat
-use-constant-fp-for-scalable-splat
[BOLT][AArch64] Account for hugify alignment in AArch64 long jump layout (#195272)
When --hugify is used for a PIE, the final section allocation in
RewriteInstance::mapCodeSections aligns the address after the last
non-cold text section before laying out the following sections:
for (BinarySection *Section : CodeSections) {
Address = alignTo(Address, Section->getAlignment());
Section->setOutputAddress(Address);
Address += Section->getOutputSize();
if (opts::Hugify && !BC->HasFixedLoadAddress &&
Section->getName() == LastNonColdSectionName)
Address = alignTo(Address, Section->getAlignment());
}
The AArch64 long-jump pass doesn't model that gap in its tentative
layout, so a CBZ could be considered in range during stub insertion and
later become out of range when JITLink applied the final layout.
[5 lines not shown]
AMDGPU/GlobalISel: Legalize scalar extloads with large memory type
Add narrowScalar for scalar sext/zextload when the memory type is
larger then 32 bits. There is no narrow scalar implementation when
NarrowSize < MemSize (split load) but we don't want that anyway.
Narrow scalar to MemSize creates large normal load + extension to dst.
Prevent TNC certificate reuse in apps and DS
This commit fixes an issue where TNC certificates could be selected
by apps and directory services because their validation paths did
not run cert_services_validation. TNC certs also appeared in cert
choice dropdowns across apps, directory services, system general UI
and system advanced syslog.
Filter TNC certs out of all cert choices methods and add the missing
validation hooks so that new users cannot attach a TNC cert to any
non-TNC consumer. For directory services LDAP_MTLS the validation
is a narrow TNC-prefix check to preserve compatibility with legacy
client certs.
libc/timespec_get*.3: expose STANDARDS section
We now have .St -isoC-2023, so the STANDARDS section can go live.
Fixes: 9b5d724cad10087e34165199e55f15f2df744ed5
MFC after: 1 week