LLVM/project f98b8f9clang/include/clang/Basic Traits.td BuiltinTraits.td, clang/lib/Parse ParseExprCXX.cpp

[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).
DeltaFile
+0-639clang/include/clang/Basic/Traits.td
+639-0clang/include/clang/Basic/BuiltinTraits.td
+255-0clang/utils/TableGen/ClangBuiltinTraitsEmitter.cpp
+0-254clang/utils/TableGen/ClangTraitsEmitter.cpp
+5-5clang/utils/TableGen/TableGen.cpp
+5-5clang/lib/Parse/ParseExprCXX.cpp
+904-90333 files not shown
+950-94839 files

LLVM/project 767aafbllvm/docs SourceLevelDebugging.md

[Docs] Fix debug info documentation typos (#214819)

Fix a couple of typos in the docs.
DeltaFile
+2-2llvm/docs/SourceLevelDebugging.md
+2-21 files

LLVM/project 38d49a6llvm/test/CodeGen/AMDGPU splitkit-getsubrangeformask-phi-extend.ll memintrinsic-unroll.ll

Revert "[AMDGPU] Reschedule loads in clauses to improve throughput (#102595)"

This reverts commit b6eb594ad0186dfb349c2903b899606c21c6b348.
DeltaFile
+1,980-2,100llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+417-459llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+304-460llvm/test/CodeGen/AMDGPU/div_i128.ll
+242-262llvm/test/CodeGen/AMDGPU/bf16.ll
+230-264llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+222-222llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
+3,395-3,76768 files not shown
+5,139-6,27474 files

LLVM/project 3e93322libc/hdr/types CMakeLists.txt timer_t.h, libc/include time.yaml CMakeLists.txt

[libc][time] Add timer_t. (#214776)
DeltaFile
+27-0libc/hdr/types/timer_t.h
+19-0libc/include/llvm-libc-types/timer_t.h
+9-0libc/hdr/types/CMakeLists.txt
+2-0libc/include/CMakeLists.txt
+1-0libc/include/time.yaml
+1-0libc/include/sys/types.yaml
+59-01 files not shown
+60-07 files

LLVM/project 7bedf8cllvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination unsigned-query-signed-system.ll

[ConstraintElim] Answer unsigned queries using the signed system.  (#213744)

If both operands are non-negative, we can perform unsigned queries in
the signed system. This complements the fact transfer, and allows us to
handle more queries.

This improves results in a number of workloads
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/847

Alive2 Proof: https://alive2.llvm.org/ce/z/Sh9ZYR

Compile-time in the noise

https://llvm-compile-time-tracker.com/compare.php?from=0b5405cb6986cc0d9ddb7a1a11b8d6792bf4101b&to=045f39a70c5445a30788c041d9d1b6636117d4ea&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/213744
DeltaFile
+82-0llvm/test/Transforms/ConstraintElimination/unsigned-query-signed-system.ll
+28-11llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+110-112 files

LLVM/project 9093b53lldb/source/Plugins/LanguageRuntime/CPlusPlus ItaniumABIRuntime.cpp CommonABIRuntime.h

[lldb] Don't resolve dynamic type info if no named type exists (#214828)

Intends to fix the failure from
https://github.com/llvm/llvm-project/pull/212013#issuecomment-5220617065.

I overlooked that the original code returned an empty `TypeAndOrName` if
no type with the specified name was found:
https://github.com/llvm/llvm-project/blob/9b1218ce69e06a22699bc196888fc0396d989c81/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABIRuntime.cpp#L84-L88

In my PR, I always returned a `TypeAndOrName` with a name set. With this
change, we only set return a non-empty `TypeAndOrName` if there was any
type with the specified name.
DeltaFile
+6-3lldb/source/Plugins/LanguageRuntime/CPlusPlus/CommonABIRuntime.cpp
+7-1lldb/source/Plugins/LanguageRuntime/CPlusPlus/CommonABIRuntime.h
+6-1lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABIRuntime.cpp
+19-53 files

LLVM/project 1fab63cutils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes 45f1b25 (#214816)

This fixes 45f1b25a0d069a2cee0632e1d1df4ff3342f136e (#210373).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=45f1b25a0d069a2cee0632e1d1df4ff3342f136e

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+27-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+27-01 files

LLVM/project dffa86a. 1

1

Change-Id: I5da9b595e58484ed4e43dec15a32c08660c5625d
DeltaFile
+1-01
+1-01 files

LLVM/project 5f6c2b8. 2

2

Change-Id: I97cdda01c130435eff88c76d1d6a00885f5a0274
DeltaFile
+1-02
+1-01 files

LLVM/project 4f919f4mlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td, mlir/lib/CAPI/Dialect LLVM.cpp

[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]
DeltaFile
+28-3mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+22-0mlir/test/Target/LLVMIR/llvmir-debug.mlir
+19-0mlir/test/Target/LLVMIR/Import/debug-info.ll
+15-1mlir/lib/CAPI/Dialect/LLVM.cpp
+10-5mlir/test/CAPI/llvm.c
+10-3mlir/lib/Target/LLVMIR/DebugTranslation.cpp
+104-126 files not shown
+130-2512 files

LLVM/project c4eda0cclang/lib/CodeGen CGHLSLRuntime.cpp, llvm/include/llvm/IR IntrinsicsDirectX.td

[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>
DeltaFile
+87-0llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
+51-0llvm/test/CodeGen/DirectX/LoadInput.ll
+49-0llvm/test/CodeGen/DirectX/StoreOutput.ll
+25-0llvm/lib/Target/DirectX/DXIL.td
+12-8llvm/include/llvm/IR/IntrinsicsDirectX.td
+2-6clang/lib/CodeGen/CGHLSLRuntime.cpp
+226-148 files not shown
+236-2414 files

LLVM/project be9c54cllvm/docs RISCVUsage.md LFI.md, llvm/docs/PDB index.md

[docs] Fix LLVM markdown migration defects
DeltaFile
+15-16llvm/docs/ResponseGuide.md
+7-7llvm/docs/PDB/index.md
+5-6llvm/docs/ReportingGuide.md
+6-5llvm/docs/CodeOfConduct.md
+3-3llvm/docs/LFI.md
+3-0llvm/docs/RISCVUsage.md
+39-371 files not shown
+40-397 files

LLVM/project a48a7be. 1

1

Change-Id: I5da9b595e58484ed4e43dec15a32c08660c5625d
DeltaFile
+1-01
+1-01 files

LLVM/project 8c360a0. 2

2

Change-Id: I97cdda01c130435eff88c76d1d6a00885f5a0274
DeltaFile
+1-02
+1-01 files

LLVM/project d234349clang/lib/StaticAnalyzer/Checkers DanglingPtrDeref.cpp

[analyzer] Add aggregate lifetime source binding to DanglingPtrDeref
DeltaFile
+8-0clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
+8-01 files

LLVM/project b14ea43clang/lib/StaticAnalyzer/Checkers LifetimeModeling.cpp, clang/test/Analysis lifetime-bound.cpp

[analyzer] Only bind aggregate lifetime sources in LifetimeModeling for annotated functions
DeltaFile
+32-0clang/test/Analysis/lifetime-bound.cpp
+17-4clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
+49-42 files

LLVM/project d9a357bclang/lib/StaticAnalyzer/Checkers LifetimeModeling.cpp

Re-run clang format on the comment as well in LifetimeModeling.
DeltaFile
+2-1clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
+2-11 files

LLVM/project a4f634dclang/lib/StaticAnalyzer/Checkers LifetimeModeling.h

Fix formatting issue.
DeltaFile
+2-1clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
+2-11 files

LLVM/project 49dd875clang/test/Analysis lifetime-bound.cpp

Add space before expected-note.
DeltaFile
+1-1clang/test/Analysis/lifetime-bound.cpp
+1-11 files

LLVM/project 813b7d8clang/test/Analysis lifetime-bound.cpp

Correct expected-notes.
DeltaFile
+11-9clang/test/Analysis/lifetime-bound.cpp
+11-91 files

LLVM/project e52312cclang/lib/StaticAnalyzer/Checkers LifetimeModeling.h LifetimeModeling.cpp, clang/test/Analysis lifetime-bound.cpp

[analyzer] Add aggregate value tracking to the LifetimeModeling checker
DeltaFile
+60-16clang/test/Analysis/lifetime-bound.cpp
+49-0clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
+4-0clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
+113-163 files

LLVM/project edfc842clang/lib/StaticAnalyzer/Checkers LifetimeModeling.cpp

More descriptive FIXME.
DeltaFile
+1-1clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
+1-11 files

LLVM/project 5a0eacfflang/lib/Optimizer/Transforms AddDebugInfo.cpp, flang/test/Integration debug-local-storage.f90 debug-module-constant.f90

Revert "[flang][debug] Emit debug info for named constants" (#214813)

Reverts llvm/llvm-project#213974 due to issue
https://github.com/llvm/llvm-project/issues/214777
DeltaFile
+11-45flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
+0-42flang/test/Integration/debug-module-constant.f90
+0-41flang/test/Transforms/debug-local-constant.fir
+0-22flang/test/Transforms/debug-module-constant.fir
+0-20flang/test/Integration/debug-local-storage.f90
+4-7flang/test/Transforms/debug-local-global-storage-1.fir
+15-1776 files

LLVM/project b563de4clang-tools-extra/docs/clang-tidy/checks/bugprone optional-value-conversion.md invalid-enum-default-initialization.md

[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/
DeltaFile
+85-86clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.md
+66-75clang-tools-extra/docs/clang-tidy/checks/bugprone/not-null-terminated-result.md
+67-69clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.md
+67-67clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.md
+53-55clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.md
+45-46clang-tools-extra/docs/clang-tidy/checks/bugprone/optional-value-conversion.md
+383-39814 files not shown
+783-81120 files

LLVM/project 997fd9cclang-tools-extra/docs/clang-tidy/checks/bugprone multiple-new-in-one-expression.rst multiple-new-in-one-expression.md

[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.
DeltaFile
+0-134clang-tools-extra/docs/clang-tidy/checks/bugprone/not-null-terminated-result.rst
+134-0clang-tools-extra/docs/clang-tidy/checks/bugprone/not-null-terminated-result.md
+0-127clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
+127-0clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.md
+0-99clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.rst
+99-0clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.md
+360-36034 files not shown
+1,314-1,31440 files

LLVM/project c4e20acllvm/lib/Target/X86 X86DomainReassignment.cpp X86SuppressAPXForReloc.cpp, llvm/lib/Target/X86/MCTargetDesc X86BaseInfo.h X86AsmBackend.cpp

[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.
DeltaFile
+7-15llvm/lib/Target/X86/X86InstrInfo.cpp
+6-14llvm/lib/Target/X86/X86OptimizeLEAs.cpp
+4-9llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+6-6llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
+10-0llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
+2-7llvm/lib/Target/X86/X86DomainReassignment.cpp
+35-517 files not shown
+51-7813 files

LLVM/project fcb62bdllvm/test/Transforms/LoopVectorize vplan-based-stride-mv.ll vplan-based-stride-mv-btc.ll

[NFC][VPlan] Extract BTC-related tests into `vplan-based-stride-mv-btc.ll` (#214047)

...and add RUN lines with scalable vectors there.
DeltaFile
+2,382-0llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv-btc.ll
+2-800llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+2,384-8002 files

LLVM/project f4c61beclang/docs ReleaseNotes.md

[Release Notes] Clang UBSan changes to aggregate copy/move operand checks

Document improvements to null, alignment, and array-bounds checks from #190739 and #203737.
DeltaFile
+4-0clang/docs/ReleaseNotes.md
+4-01 files

LLVM/project cea48beflang/lib/Optimizer/Transforms AddDebugInfo.cpp, flang/test/Integration debug-local-storage.f90 debug-module-constant.f90

Revert "[flang][debug] Emit debug info for named constants (#213974)"

This reverts commit 50ff635538a52197ce708ce65c3fb1752be0f20f.
DeltaFile
+11-45flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
+0-42flang/test/Integration/debug-module-constant.f90
+0-41flang/test/Transforms/debug-local-constant.fir
+0-22flang/test/Transforms/debug-module-constant.fir
+0-20flang/test/Integration/debug-local-storage.f90
+4-7flang/test/Transforms/debug-local-global-storage-1.fir
+15-1776 files

LLVM/project d2afa97llvm/lib/IR DebugInfoMetadata.cpp, llvm/unittests/IR MetadataTest.cpp

[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]
DeltaFile
+10-0llvm/unittests/IR/MetadataTest.cpp
+4-2llvm/lib/IR/DebugInfoMetadata.cpp
+14-22 files