[NVPTX] Add default value to collector_b ImmArg in tcgen05.mma intrinsics (#220237)
This patch adds default value for the `collector_b` flag in
`tcgen05.mma` intrinsics.
Also adds lit tests to verify that calls without explicit `collector_b`
operands correctly materialized with default value.
---------
Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
[docs] Use intersphinx for LLVM cross-project links
Configure the LLVM documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.
Part of #214861
[docs] Check absolute cross-project documentation links
Extend the absolute documentation link check to recognize documents from
configured intersphinx inventories. Diagnose absolute links to those documents
so authors use validated, project-qualified intersphinx roles instead.
Part of #214861
[docs] Use intersphinx for Clang cross-project links
Configure the Clang documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.
Part of #214861
[docs] Enable absolute documentation link checks
Configure the LLVM and Clang documentation URL prefixes so their Sphinx
builds reject absolute links to documents in the same project or a configured
intersphinx project.
Part of #214861
[docs] Repair stale LLVM documentation links
Use the Sphinx ref role for the IR2Vec section label so clean Sphinx
builds resolve it correctly. Remove the dangling BuildingAJIT Chapter 5
navigation text because that chapter no longer exists.
Fixes follow-up issues in #222506.
[docs] Replace llvm.org/docs links with project links
Use Sphinx document and reference roles or project-relative links for
links within the LLVM documentation. This lets Sphinx validate the
targets and keeps local documentation builds and archived release
documentation self-contained.
Part of #214861
[docs] Repair Clang documentation cross-references
Restore a stable target for the OSObject retain-behavior attributes and
reference it with the Sphinx ref role. Mark links to the generated AST
matcher reference as external so MyST preserves their project-relative
HTML destinations instead of treating the file as a download.
Fixes follow-up issues in #222507.
[docs] Replace clang.llvm.org/docs links with Sphinx links
Use Sphinx document and option roles or project-relative links for links
within the Clang documentation. Repair stale generated-document
fragments found while validating the replacements. This ensures that
standalone documentation builds are self-contained, although
cross-project links (Clang->LLVM) typically go via absolute llvm.org
hrefs.
Part of #214861
Assisted-by: Codex
[docs] Check for absolute self-documentation links (#222504)
Add an opt-in llvm_sphinx check that diagnoses absolute links to
documents in the current Sphinx project. Operate on the parsed doctree
so the check works for both reStructuredText and MyST without flagging
examples in literal blocks.
For example, restoring one absolute link in the LLVM documentation makes
a warnings-as-errors build report:
llvm/docs/ReleaseNotes.md:321: WARNING: absolute URL points to document
'index' in this Sphinx project; use an internal 'doc' or 'ref' role
instead: https://llvm.org/docs/ [llvm_sphinx.absolute-doc-link]
Part of #214861
Assisted-by: codex
[ProfileData] Bound binary sample profile primitive reads (#215476)
Fix pre-existing latent memory-safety issues that could cause
out-of-bounds reads or invalid pointer arithmetic on malformed,
truncated, or non-null-terminated buffers:
* unbounded ULEB128 decoding in readNumber() and Raw/Ext format probes;
* unbounded terminator searches in readString() and GCC format
detection;
* unsafe bounds checking in readUnencodedNumber().
Use bounded decoding, memchr, overflow-safe size checks, and typed
ULEB128 errors. Preserve the existing decodeULEB128 interface and avoid
test-only ABI exports.
Add functional and guard-page tests that detect boundary regressions
without requiring sanitizers.
Assisted by GPT-5
[CMake] Remove unused configuration probes
Several config-ix checks either have no consumer or can be performed directly
by the source that needs the feature. Remove six compiler invocations from a
typical Linux configure:
* HAVE_PTHREAD_MUTEX_LOCK has been unused since LLVM switched its mutex
implementation to std::recursive_mutex in 2019.
* The Linux magic-header results have never been propagated to config.h, so
CMake builds already use Path.inc's fallback constants.
* FE_ALL_EXCEPT and FE_INEXACT can be tested directly after including cfenv.
* The Valgrind and CrashReporter headers can be detected with __has_include in
their only consuming translation units.
Also remove the obsolete definitions from the GN and Bazel configurations.
In a fresh minimal LLVM configure, CMake profiling attributed 2067.1 ms to 45
config-ix probes before this change and 1846.9 ms to 39 probes after it.
[6 lines not shown]
[ORC] Fix OrcCAPITestBase.ExecutionTest on Darwin/arm64e (#223577)
Switch to ExecutorAddr::toPtr to sign the function pointer. We'll need a
C API solution for this eventually, but this will do for now to get the
test passing.
rdar://186687669
[mlir][tosa] Use optnone for compliance initialization under MSan (NFC) (#223586)
The compliance-map constructor includes a ~5,000-line generated
initializer.
Under MemorySanitizer, shadow and origin tracking instrumentation on
this single mega-function causes extreme compilation times (>3.5
minutes),
dominated by InstCombine (~68s) and greedy register allocation (~71s).
Recently, LLVM_ATTRIBUTE_MINSIZE was added to optimize for size, but
MSan
instrumentation still inflates the function enough to trigger severe
slowdowns in the backend.
Mark the constructor with optnone under LLVM_MEMORY_SANITIZER_BUILD to
skip
expensive optimization and register allocation passes, bringing
compilation
time under MSan down from 3m38s to ~30s.
[5 lines not shown]
[RISCV] Select the capability ABI by default when the Y extension is enabled
computeDefaultABI() previously had no knowledge of the RVY (CHERI) base,
so a target with Y enabled and no explicit -target-abi
would fall back to the plain integer ABI instead of il32pc64(d)/
l64pc128(d).
This adds explicit non-RVY ABIs to two tests since otherwise those would
hit the assertion that the ABI is not supported yet. As the ABI does not
matter for these tests, we can safely use the non-RVY ones.
This change was created with the help of AI tools
Reviewed By: lenary
Pull Request: https://github.com/llvm/llvm-project/pull/213411
[CIR] Accept a union whose members do not cover its declared size
Past two eightbytes the x86_64 classifier never reads a union's members
to pick a coerce type. It either classifies the record as memory, which
needs no coerce type at all, or it classifies SSE followed by SSEUP, and
then the coerce type is a vector as wide as the whole record.
Assisted-by: Cursor / claude-opus-5
devel/zizmor: Add port: Static analysis for GitHub Actions
zizmor is a static analysis tool for CI/CD systems.
It can find and fix security issues in common CI/CD setups, including
GitHub Actions, Dependabot, and pre-commit. Some of the things zizmor
finds:
- Template injection vulnerabilities, leading to attacker-controlled
code execution
- Accidental credential persistence and leakage
- Excessive permission scopes and credential grants to runners
- Impostor commits and confusable git references
- ...and much more!
WWW: https://docs.zizmor.sh/
WWW: https://github.com/zizmorcore/zizmor