[BFI] Remove AllowSynthetic parameter (#227469)
Support for synthetic profile information was mostly removed a while
ago. This parameter does nothing and was apparently left over, so remove
it.
[LLDB] Make PythonRuntimeLoader a posix platform library
The symbol ForEachPythonRuntimeCandidate is required when python is
enabled on LLDB. However, it is only provided by Linux platform now.
Make such soure code be compiled under all Posix platform other than
Darwin or it causes link error.
[clang][docs] Render attribute syntaxes from a Sphinx role
Implements stage 2 of https://github.com/llvm/llvm-project/issues/227907 by generating a JSON syntax database from Attr.td and rendering supported syntaxes through the clang-attr-syntaxes Sphinx role.
[clang][docs] Check in attribute reference Markdown
Tracking issue: #227907
Implements stage 3 of #227907 by checking in AttributeReference.md and
AttributeReference/*.md, and by removing the docs build rules that
generated and split those Markdown sources.
This also adds the docs-build check for alphabetically sorted H3
attribute headings now that those headings are hand-authored in the
checked-in Markdown files.
The checked-in Markdown was populated with:
mkdir -p clang/docs/AttributeReference
cp build/tools/clang/docs/AttributeReference.md clang/docs/AttributeReference.md
cp build/tools/clang/docs/AttributeReference/*.md clang/docs/AttributeReference/
The AttrDocs TableGen backend is retained as a deterministic migration
[3 lines not shown]
[AMDGPU] Fix missed WMMA C-operand co-exec hazard
The gfx1250 WMMA co-execution hazard check treats only A, B and the
SWMMAC index as registers the in-flight MMA still reads. C (src2 of a
non-SWMMAC WMMA) is missing, so a VALU scheduled into the MMA's shadow
can clobber C and the MMA consumes the new value.
This is latent while C is tied to vdst, since the existing D check then
covers it. It miscompiles where the tie does not hold: for
v_wmma_bf16f32_16x16x32_bf16, whose D is narrower than C, and for the
_threeaddr form of any WMMA.
[lldb] Emit TypeOption flags correctly as ULEB (#227399)
A formatter's flags are loaded as ULEB:
```cpp
uint64_t flags = extractor.getULEB128(cursor);
```
This change updates formatter_bytecode.py to emit the flags as ULEB as
well.
Assisted-by: claude
[lldb] Add dictionary data type to formatter bytecode (#225955)
Add a dictionary data type to formatter bytecode.
This addition will help in two ways:
1. A subsequent change will use dictionaries to model "self" ("this")
2. Many formatters internal use a dictionary as an implementation
detail, and this will allow such formatters to be compiled/ported to
formatter bytecode
Assisted-by: claude
[lldb] Add extra logic to find llvm-nm in standalone builds (#227487)
If one builds LLDB standalone against an LLVM that builds but does not
export an llvm-nm target, then LLDB will fail to build when also using
dynamic script interpreters.
To account for this, we use the same logic for finding llvm-tblgen. I
intentionally did not deduplicate the logic because they are run in
slightly different scenarios. I plan on joining these together with a
macro once another tool is needed.
[libcxx] Bump clang in CI container to v24 (#227930)
This is what we already install from CE, we just weren't properly
attributing it. This meant that clang-23 in the container was actually a
symlink to clang-24.
[libcxx] Ensure CLANG_VERSION_MAJOR is defined in clang-tidy checks (#228127)
Otherwise the ifdefs around CLANG_VERSION_MAJOR for whether or not we
should be including ClangTidyModule.h or ClangTidyModuleRegistry.h are
all wrong given CLANG_VERSION_MAJOR is undefined.
This is needed for bumping the CI container.
[lldb][bazel] Remove stale Bazel deps (#228580)
- Core's dependency on PluginCPlusPlusLanguageHeaders and
PluginObjCLanguageHeaders was removed in
897cc3ee429a62e1dfd77a602db96e9884671f93.
- Expression's dependency on PluginSymbolFileDWARFHeaders was removed in
59c5d531991ca6d3cdd7072a13331dd5b0a5b321.
- Interpreter's dependency on API was removed in
ed3d4a78ba8b23ab5d3fb629029695a03818d254.
These edges made LLDB core libraries transitively depend on plugins
(and, through :API, on every default plugin). The build passes with
layering_check after removing them.
[SLP][NFC] Precommit test for stale BatchAA after vectorizing a tree (#227928)
The current output sinks the store to %p8 below the masked gather that
loads from %p8, which is a miscompile.
Coauthored by Opus 5.5
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[CIR] Correct const lowering with potentially-overlapping-types. (#228506)
The below bug report found a case where our base lowering and our
const-record lowering got out of sync with no unique address, so this
patch makes sure we get it right.
Fixes: #228300
[flang] Fix locations of wrapped unstructured constructs and DO loop ends
Construct evaluations have no source position, so the scf.execute_region
wrapping an unstructured construct was given the location of the
previously lowered statement. Use the construct's first statement for the
region and its END statement for the scf.yield. Also attribute the DO loop
end code to the END DO statement rather than to the last statement of the
loop body.
This avoids going back to previous lines when stepping in a debugger.
[mlir][scf] Keep scf.yield locations when lowering scf.execute_region
The branches replacing the scf.yield terminators of an scf.execute_region
used the location of the scf.execute_region. Use the location of the
scf.yield they replace instead.
[clang][docs] Generate split attribute reference docs
Implements stage 1 of https://github.com/llvm/llvm-project/issues/227907 by teaching the attribute docs generator to emit split-file-formatted Markdown and wiring the docs build to split it for Sphinx.
Revert "[IR] Reduce memory usage in metadata use tracking (NFC) (#221866)" (#228561)
This reverts commit 4f5877ff5b6e947123142f7e17ffd04850fd416a.
We've encountered non-determinism with this patch. See #228299 for
details.
[msan] Handle Arm NEON FP8 FDOT2/FDOT4 (#227850)
This reuses the existing handleVectorDotProductIntrinsic().
Note: aarch64_neon_fp8_fdot{2,4}_lane is not handled by this patch,
because their individual numeric lane parameter differs from
handleVectorDotProductIntrinsic()'s odd/even lanes.