[clang][NFC] Rename Traits.td to BuiltinTraits.td (#214595)
This patch renames the recently introduced Traits.td to BuiltinTraits.td
to match the name we chose for the utility header
(https://github.com/llvm/llvm-project/pull/210838).
[mlir][llvm] support DICompileUnit source language dialect (#214301)
## Summary
LLVM IR `DICompileUnit` supports an optional `dialect:` field as part of
its `DISourceLanguageName`, for example:
```
!0 = distinct !DICompileUnit(
language: DW_LANG_C,
file: !1,
dialect: DW_LLVM_LANG_DIALECT_simt
)
```
The MLIR LLVM dialect previously modeled only the base `sourceLanguage`,
so LLVM IR import dropped the dialect and MLIR-to-LLVMIR export could
not emit it.
[21 lines not shown]
[HLSL][DirectX] Lower llvm.dx.load.input and llvm.dx.store.output to DXIL (#208871)
Addresses #189766.
Co-authored-by: Finn Plummer <mail at inbelic.dev>
Assisted-by: Claude Sonnet 4
---------
Co-authored-by: Finn Plummer <mail at inbelic.dev>
[clang-tidy][docs] Rewrite bugprone check docs to Markdown [2/4] (#214419)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This rewrites part 2/4 of the remaining bugprone check documentation
from reST to MyST Markdown.
AI Usage: This was prepared with rst2myst and GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.
Preview site:
https://broken.life/llvm-staging/bugprone-markdown-port/
[clang-tidy][docs] Rename bugprone check docs to Markdown [2/4] (#214418)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the mechanical rename for part 2/4 of the remaining bugprone
check documentation. The rewrite is provided by the next PR in this
stack.
[NFC][X86] Add getMemoryOperandIdx helper function (#211685)
The pattern of computing a memory operand index via
`X86II::getMemoryOperandNo(Desc.TSFlags) + X86II::getOperandBias(Desc)`
occurs in a number of places in the X86 backend. This puts that
logic into a helper function called `getMemoryOperandIdx` and simplifies
instances across the backend.
[Release Notes] Clang UBSan changes to aggregate copy/move operand checks
Document improvements to null, alignment, and array-bounds checks from #190739 and #203737.
[DebugInfo] Keep validating after register and entry-value ops (#214057)
isValid returned as soon as it saw a compact DW_OP_regN or DW_OP_bregN
operation, or a valid DW_OP_LLVM_entry_value. Operations after that
point skipped the remaining checks.
Let's keep walking the expression. DW_OP_regx and DW_OP_bregx already
leave the switch and continue validating the expression, so this makes
the compact forms validate their suffixes too. Entry-value suffixes are
also intentional here.
This adds no register-specific suffix rule. DWARF 5 requires a register
location to stand alone as an entire object or piece, while accepted
DWARF issue 230524.1 permits a register location followed by a
dereference in DWARF 6. Since isValid() does not know the emitted DWARF
version, we keep it limited to applying its existing checks to the
suffix.
Test each early-return path with a different invalid suffix: a stack
[8 lines not shown]