LLVM/project ef7bfdcflang/lib/Lower Allocatable.cpp, flang/test/Lower/OpenACC acc-declare-host-associated-allocatable.f90

[flang][OpenACC] Resolve associations before testing declare flags (#221346)

The OpenACC declare flags are set by semantics on a single symbol: the
one resolved in the scope containing the !$acc declare directive. Any
other scope naming the same entity reaches it through an association
symbol, and those symbols carry their own, empty flag sets.
The allocate and deallocate action helpers tested the symbol taken
straight from the ALLOCATE or DEALLOCATE statement. For an allocatable
declared in a host scope and allocated in an internal subprogram the
AccDeclare test
therefore failed, no acc.declare_action attribute was attached, and
ACCDeclareActionConversion had nothing to convert. The emitted recipes
were never called, so the device copy was neither created on allocation
nor deleted on deallocation.
Resolve to the ultimate symbol and pass it on. Forwarding the resolved
symbol is required because the deallocation attach helpers independently
re-test the data clause flags.
This matches the rest of the OpenACC lowering, which already resolves
before reading these flags. Recipe names are unaffected because

    [4 lines not shown]
DeltaFile
+63-0flang/test/Lower/OpenACC/acc-declare-host-associated-allocatable.f90
+9-7flang/lib/Lower/Allocatable.cpp
+72-72 files

LLVM/project 8c536a5.github/workflows/containers/github-action-ci-windows Dockerfile

[CI] Remove psutil from Windows container (#221377)
DeltaFile
+0-3.github/workflows/containers/github-action-ci-windows/Dockerfile
+0-31 files

LLVM/project a638ce4clang/include/clang/Basic AtomicLineLogger.h, clang/lib/Basic AtomicLineLogger.cpp

[clang][DependencyScanning] Add a Clang Driver Option to Enable Dependency Scanning Logging (#211966)

This PR adds a clang driver option to enable dependency scanning
logging. The important implementation detail is that the
`DependencyScanningService` holds a single instance of the logger, and
we need to route the option to the logger per scan. An `enable` method
is added to the logger's API to enable it with thread safety. A second
detail worth calling out is that the option is a driver option, so if a
`cc1` command is passed directly to the scanner, the option will not be
processed.
DeltaFile
+60-21clang/lib/Basic/AtomicLineLogger.cpp
+65-0clang/test/ClangScanDeps/depscan-log-path.c
+48-15clang/unittests/Basic/AtomicLineLoggerTest.cpp
+43-0clang/test/ClangScanDeps/logging-driver-flag.c
+28-7clang/lib/Tooling/DependencyScanningTool.cpp
+19-1clang/include/clang/Basic/AtomicLineLogger.h
+263-447 files not shown
+315-4913 files

LLVM/project e55c5bbllvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/lib/CodeGen AllocationOrder.h MachineRegisterInfo.cpp

Merge branch 'users/mssefat/anti-hints-pr3-amdgpu-apply' into users/mssefat/anti-hints-pr4-amdgpu-pre-ra
DeltaFile
+27-15llvm/lib/CodeGen/TargetRegisterInfo.cpp
+10-26llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+17-13llvm/lib/CodeGen/AllocationOrder.cpp
+14-12llvm/lib/CodeGen/MachineRegisterInfo.cpp
+12-3llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+5-5llvm/lib/CodeGen/AllocationOrder.h
+85-743 files not shown
+94-869 files

LLVM/project f81b77bllvm/lib/Target/AMDGPU SIRegisterInfo.h SIRegisterInfo.cpp

Addressed review and added target overrideable filterAndSort
DeltaFile
+10-26llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+3-5llvm/lib/Target/AMDGPU/SIRegisterInfo.h
+13-312 files

LLVM/project 9c7c9f0llvm/include/llvm/CodeGen MachineRegisterInfo.h TargetRegisterInfo.h, llvm/lib/CodeGen AllocationOrder.h MachineRegisterInfo.cpp

Merge branch 'users/mssefat/anti-hints-pr2-mir-serialize' into users/mssefat/anti-hints-pr3-amdgpu-apply
DeltaFile
+27-15llvm/lib/CodeGen/TargetRegisterInfo.cpp
+17-13llvm/lib/CodeGen/AllocationOrder.cpp
+14-12llvm/lib/CodeGen/MachineRegisterInfo.cpp
+12-3llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+5-5llvm/lib/CodeGen/AllocationOrder.h
+4-5llvm/include/llvm/CodeGen/MachineRegisterInfo.h
+79-531 files not shown
+81-557 files

LLVM/project 222b6edllvm/include/llvm/CodeGen MachineRegisterInfo.h TargetRegisterInfo.h, llvm/lib/CodeGen AllocationOrder.h MachineRegisterInfo.cpp

Merge branch 'users/mssefat/anti-hints-pr1-infra' into users/mssefat/anti-hints-pr2-mir-serialize
DeltaFile
+27-15llvm/lib/CodeGen/TargetRegisterInfo.cpp
+17-13llvm/lib/CodeGen/AllocationOrder.cpp
+14-12llvm/lib/CodeGen/MachineRegisterInfo.cpp
+12-3llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+5-5llvm/lib/CodeGen/AllocationOrder.h
+4-5llvm/include/llvm/CodeGen/MachineRegisterInfo.h
+79-531 files not shown
+81-557 files

LLVM/project 82e68bdllvm/include/llvm/CodeGen MachineRegisterInfo.h TargetRegisterInfo.h, llvm/lib/CodeGen AllocationOrder.h MachineRegisterInfo.cpp

Addressed review and added target overrideable filterAndSort
DeltaFile
+27-15llvm/lib/CodeGen/TargetRegisterInfo.cpp
+17-13llvm/lib/CodeGen/AllocationOrder.cpp
+14-12llvm/lib/CodeGen/MachineRegisterInfo.cpp
+12-3llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+5-5llvm/lib/CodeGen/AllocationOrder.h
+4-5llvm/include/llvm/CodeGen/MachineRegisterInfo.h
+79-531 files not shown
+81-557 files

LLVM/project 2fd31fallvm/lib/CodeGen RegAllocFast.cpp

[RegAllocFast] Assert that isTiedToNotUndef() takes a def. NFC (#221120)

Improve a comment after #219482. And tidy MBB.liveins()
DeltaFile
+7-8llvm/lib/CodeGen/RegAllocFast.cpp
+7-81 files

LLVM/project 3efd20dllvm/lib/Target/RISCV RISCVInstrInfoVSDPatterns.td RISCVInstrInfoVVLPatterns.td

[RISCV] Remove unused tablegen classes. NFC (#221286)

This removes VPatBinaryFPSDNode_R_VF and VPatBinaryFPVL_R_VF. The have
_RM version that are used instead.
DeltaFile
+0-19llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+0-16llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
+0-352 files

LLVM/project d0617ff.ci utils.sh

[CI] Require hashes for premerge python dep installation (#221376)

This is best practice and the requirements file is already a lockfile
with hashes.
DeltaFile
+1-1.ci/utils.sh
+1-11 files

LLVM/project 7002ddallvm/lib/Object ArchiveWriter.cpp, llvm/test/tools/llvm-ar zos-write.test zos-symattrs.test

Address archive writing and test case comments.
DeltaFile
+6-5llvm/test/tools/llvm-ar/zos-symattrs.test
+8-1llvm/test/tools/llvm-ar/zos-write.test
+3-3llvm/lib/Object/ArchiveWriter.cpp
+17-93 files

LLVM/project 977f609clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenFunction.h CIRGenBuiltin.cpp

[CIR] Add cir.coro.intrinsic.promise Op (#221124)

This PR adds `cir.coro.intrinsic.promise`, representing
`llvm.coro.promise`, to the set of coroutine intrinsic ops. It also adds
the corresponding lowering to `llvm.coro.promise`.
DeltaFile
+23-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+12-0clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
+6-2clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
+1-2clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+1-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+43-45 files

LLVM/project b9d19fe.ci/metrics Dockerfile

[CI] Require hashes for pip install in metrics container (#221373)

We generate the requirements lock file with hashes, but did not actually
require them before now, which is best practice.
DeltaFile
+1-1.ci/metrics/Dockerfile
+1-11 files

LLVM/project b5fe885clang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp, clang/test/CIR/CodeGenBuiltins/NVPTX builtins-nvptx-sync.cu

[CIR][NVPTX] Lower __nvvm_bar0_{and,or,popc} builtins (#221255)
DeltaFile
+40-1clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
+25-12clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+65-132 files

LLVM/project 158e0f3clang/lib/CIR/CodeGen CIRGenFunction.h CIRGenBuiltinNVPTX.cpp, clang/test/CIR/CodeGenCUDA builtins-nvvm-atomic.cu

[CIR][NVPTX] Lower __nvvm_atom_cas_gen_* builtins (#221261)
DeltaFile
+70-0clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
+16-20clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+9-13clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+8-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+103-334 files

LLVM/project 9faf317clang-tools-extra/clang-tidy ClangTidyDiagnosticConsumer.cpp ClangTidyOptions.cpp, clang-tools-extra/test/clang-tidy/infrastructure clang-tidy-diff.cpp

[clang-tidy] Normalize windows line filter paths (#217038)

`git | clang-tidy-diff.py` emits line-filter paths with forward slashes,
while Windows compilation databases use a mix of forwards and backwards
slashes. These paths are then silently rejected (and no report is
emitted).

Reproduce on windows via:
```
git.exe diff -U0 main -- . | python clang-tidy-diff.py -p1 -path .\build"
```

Git will produce a path like:
```
my/source/file.cpp
```

The compilation database has files with entries like this:
```

    [18 lines not shown]
DeltaFile
+70-0clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
+10-10clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
+9-9clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
+10-0clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
+6-1clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
+4-1clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
+109-211 files not shown
+114-217 files

LLVM/project 7fdc9a3libc/utils cmake_format.py, libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap pstl.is_heap_until.pass.cpp pstl.is_heap_until_comp.pass.cpp

rebase

Created using spr 1.3.7
DeltaFile
+1,534-0libc/utils/cmake_format.py
+965-342llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+1,068-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until_comp.pass.cpp
+1,064-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until.pass.cpp
+914-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+790-0llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+6,335-342973 files not shown
+35,445-9,574979 files

LLVM/project 2c6e71eclang/docs/_static custom.css

[clang][docs] Widen content on medium viewports
DeltaFile
+21-0clang/docs/_static/custom.css
+21-01 files

LLVM/project 6405882clang/docs UsersManual.md

Fix text color in dark mode
DeltaFile
+1-1clang/docs/UsersManual.md
+1-11 files

LLVM/project 49b3df6clang/docs DataFlowAnalysisIntro.md, clang/docs/_static custom.css

[clang][docs] Give DataFlow figures a light background
DeltaFile
+28-7clang/docs/DataFlowAnalysisIntro.md
+4-0clang/docs/_static/custom.css
+32-72 files

LLVM/project ddc2adbclang/docs Toolchain.md ReleaseNotes.md, clang/include/clang/Basic BuiltinsAMDGPUDocs.td

[clang][docs] Remove page-local contents directives
DeltaFile
+0-10clang/docs/DriverInternals.md
+0-4clang/include/clang/Options/ClangOptionDocs.td
+0-4clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
+0-4clang/docs/Toolchain.md
+0-4clang/docs/ReleaseNotes.md
+0-4clang/docs/LanguageExtensions.md
+0-3075 files not shown
+0-25481 files

LLVM/project 6d63518clang/docs conf.py, clang/docs/_static custom.css

[docs] Restore project-specific Furo CSS
DeltaFile
+0-140utils/docs/llvm_sphinx/_static/furo-common.css
+71-0llvm/docs/_static/custom.css
+60-0clang/docs/_static/custom.css
+8-0utils/docs/llvm_sphinx/__init__.py
+2-1llvm/docs/conf.py
+3-0clang/docs/conf.py
+144-1414 files not shown
+147-14210 files

LLVM/project 6ec27daclang/docs/analyzer conf.py, libc/docs/_static copybutton.js

[clang][docs] Prototype Furo theme setup
DeltaFile
+140-0utils/docs/llvm_sphinx/_static/furo-common.css
+0-71llvm/docs/_static/custom.css
+0-56llvm/docs/_static/copybutton.js
+0-56libc/docs/_static/copybutton.js
+56-0utils/docs/llvm_sphinx/_static/copybutton.js
+10-34clang/docs/analyzer/conf.py
+206-2179 files not shown
+335-39215 files

LLVM/project 2cbdbc9clang/docs CMakeLists.txt, clang/include/clang/Options ClangOptionDocs.td Options.td

[clang][docs] Generate command line reference as Markdown (#220385)

Update the Clang option documentation emitter to generate MyST Markdown
for the generated command-line reference page. I discovered and
preserved a complicated existing Sphinx program-name workaround for
option IDs that collide after punctuation normalization.

The only markup on Options.td is in the DocBrief fields, and those use
very little markup, so those were all migrated by the agent, not
rst2myst. I unindented the multi-line DocBrief bodies, because
indentation has semantics in both markdown (list indentation) and reST.

Tracking issue: #201242 

0.1288% pixels differ in the rendered HTML page.

Assisted-by: Codex
DeltaFile
+33-32clang/include/clang/Options/Options.td
+39-26clang/utils/TableGen/ClangOptionDocEmitter.cpp
+12-13clang/include/clang/Options/ClangOptionDocs.td
+6-6clang/docs/CMakeLists.txt
+90-774 files

LLVM/project 001fd82libc/utils cmake_format.py, libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap pstl.is_heap_until.pass.cpp pstl.is_heap_until_comp.pass.cpp

rebase

Created using spr 1.3.7
DeltaFile
+1,534-0libc/utils/cmake_format.py
+965-342llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+1,068-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until_comp.pass.cpp
+1,064-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until.pass.cpp
+914-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+790-0llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+6,335-342868 files not shown
+33,227-8,697874 files

LLVM/project 7d721eclibc/utils cmake_format.py, libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap pstl.is_heap_until.pass.cpp pstl.is_heap_until_comp.pass.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1,534-0libc/utils/cmake_format.py
+965-342llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+1,068-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until_comp.pass.cpp
+1,064-0libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until.pass.cpp
+914-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+790-0llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+6,335-342868 files not shown
+33,227-8,697874 files

LLVM/project 5318b2dlibc/utils cmake_format.py, llvm/test/CodeGen/AArch64 sve-vector-unroll.ll

rebase

Created using spr 1.3.7
DeltaFile
+1,534-0libc/utils/cmake_format.py
+965-342llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+914-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+790-0llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+641-0llvm/test/CodeGen/AArch64/sve-vector-unroll.ll
+639-0llvm/test/Transforms/ConstraintElimination/or-disjoint.ll
+5,483-342777 files not shown
+27,269-8,074783 files

LLVM/project 324a4cflibc/utils cmake_format.py, llvm/test/CodeGen/AArch64 sve-vector-unroll.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1,534-0libc/utils/cmake_format.py
+965-342llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+914-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+790-0llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+641-0llvm/test/CodeGen/AArch64/sve-vector-unroll.ll
+639-0llvm/test/Transforms/ConstraintElimination/or-disjoint.ll
+5,483-342777 files not shown
+27,269-8,074783 files

LLVM/project bbf0680llvm/include/llvm/Transforms/IPO LowerTypeTests.h, llvm/lib/Transforms/IPO LowerTypeTests.cpp

[NFC][LowerTypeTests] Support ordering in GlobalLayoutBuilder with Less comparator (#221044)

Allow callers to guide fragment placement in GlobalLayoutBuilder using
an optional comparator.

This is a prerequisite for
https://github.com/llvm/llvm-project/pull/221046,
which reorders CFI jump table entries according to profile and ThinLTO
call edge hotness. Passing an ordering comparator allows
GlobalLayoutBuilder
to sort elements within strict types and place the globally hottest
fragment at the end of the jump table, while preserving 100% contiguity
(single range checks without holes) for all type subsets.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* ➤ https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/221045

    [2 lines not shown]
DeltaFile
+61-0llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
+26-5llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+11-2llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
+98-73 files