LLVM/project 2b43da5llvm/lib/Target/AArch64 AArch64StackTaggingPreRA.cpp AArch64.h

[NewPM] Port for AArch64StackTaggingPreRA (#194021)

This patch migrates the AArch64StackTaggingPreRA pass to the New Pass
Manager.

Following the standard pattern for pass migrations:
- The core logic has been extracted into a standalone
AArch64StackTaggingPreRAImpl class.
- A new pass manager wrapper (AArch64StackTaggingPreRAPass) has been
created.
- The legacy pass manager wrapper has been renamed to
AArch64StackTaggingPreRALegacy and updated to call the shared
implementation.
- The pass is registered in AArch64PassRegistry.def to make it available
to the New PM.
DeltaFile
+40-15llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
+9-2llvm/lib/Target/AArch64/AArch64.h
+2-2llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+52-194 files

LLVM/project 2826b51llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp

[AMDGPU] Add `.amdgpu.info` section for per-function metadata

AMDGPU object linking requires the linker to propagate resource usage
(registers, stack, LDS) across translation units. To support this, the compiler
must emit per-function metadata and call graph edges in the relocatable object
so the linker can compute whole-program resource requirements.

This PR introduces a `.amdgpu.info` ELF section using a tagged, length-prefixed
binary format: each entry is encoded as:

```
[kind: u8] [len: u8] [payload: <len> bytes]
```

A function scope is opened by an `INFO_FUNC` entry (containing a symbol
reference), followed by per-function attributes (register counts, flags, private
segment size) and relational edges (direct calls, LDS uses, indirect call
signatures). String data such as function type signatures is stored in a
companion `.amdgpu.strtab` section.

    [4 lines not shown]
DeltaFile
+221-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-typeid.ll
+179-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+155-2llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+126-0llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+113-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+106-0llvm/docs/AMDGPUUsage.rst
+900-29 files not shown
+1,209-1415 files

LLVM/project f6463b7clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevelFormat.cpp EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowFormat.cpp PointerFlow.cpp

Move serialization code to *Format.cpp files
DeltaFile
+113-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
+106-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
+0-96clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
+0-88clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+58-0clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
+0-42clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+277-2261 files not shown
+280-2267 files

LLVM/project 2953eacllvm/docs LangRef.rst, llvm/include/llvm/IR DataLayout.h

[DataLayout] Add null pointer value infrastructure

Add support for specifying the null pointer bit representation per address space
in DataLayout via new pointer spec flags:
- 'z': null pointer is all-zeros
- 'o': null pointer is all-ones

When neither flag is present, the address space inherits the default set by the
new 'N<null-value>' top-level specifier ('Nz' or 'No'). If that is also absent,
the null pointer value is unknown and LLVM will not fold based on it.

No target DataLayout strings are updated in this change. This is pure
infrastructure for a future ConstantPointerNull semantic change to support
targets with non-zero null pointers (e.g. AMDGPU).
DeltaFile
+153-1llvm/unittests/IR/DataLayoutTest.cpp
+64-6llvm/lib/IR/DataLayout.cpp
+30-1llvm/include/llvm/IR/DataLayout.h
+17-1llvm/docs/LangRef.rst
+3-3llvm/test/Linker/2003-08-24-InheritPtrSize.ll
+267-125 files

LLVM/project 17b5b21llvm/lib/MC MCSection.cpp, llvm/test/MC/AMDGPU reloc-directive.s

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+23-0llvm/test/MC/X86/reloc-directive-tlsgd.s
+19-1llvm/lib/MC/MCSection.cpp
+6-6llvm/test/MC/Mips/reloc-directive-label-offset.s
+5-5llvm/test/MC/SystemZ/reloc-directive.s
+4-4llvm/test/MC/Mips/reloc-directive.s
+3-3llvm/test/MC/AMDGPU/reloc-directive.s
+60-1915 files not shown
+101-5721 files

LLVM/project 3c5b94flld/MachO ConcatOutputSection.cpp

add updateBranchTargetToThunk
DeltaFile
+22-24lld/MachO/ConcatOutputSection.cpp
+22-241 files

LLVM/project 7bcd12cclang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevelFormat.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlow.h

fix license title length
DeltaFile
+2-3clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
+2-2clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+1-1clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+8-96 files

LLVM/project b49855fllvm/lib/Target/AMDGPU SIInstrInfo.td, llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU][MC] Allow the nolds modifier (#185129)

Some pre-GFX11 buffer_load instructions have two variants: one
requires the lds modifier and one does not allow lds. For the latter
allow nolds to be used.
DeltaFile
+18-0llvm/test/MC/AMDGPU/gfx7_asm_mubuf.s
+18-0llvm/test/MC/AMDGPU/gfx9_asm_mubuf.s
+18-0llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
+18-0llvm/test/MC/AMDGPU/gfx8_asm_mubuf.s
+2-1llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+1-0llvm/lib/Target/AMDGPU/SIInstrInfo.td
+75-16 files

LLVM/project 7ea78de.github/workflows issue-release-workflow.yml

Revert "workflows/issue-release-workflow: Use GitHub app for generating tokens" (#194058)

Reverts llvm/llvm-project#193825

Fails due to insufficient permissions:

`
github.GithubException.GithubException: 422 {"message": "Validation
Failed", "errors": [{"resource": "PullRequest", "code": "custom",
"field": "fork_collab", "message": "fork_collab Fork collab can't be
granted by someone without permission"}], "documentation_url":
"https://docs.github.com/rest/pulls/pulls#create-a-pull-request",
"status": "422"}
`
DeltaFile
+1-13.github/workflows/issue-release-workflow.yml
+1-131 files

LLVM/project ebbaa93llvm/include/llvm/ABI TargetInfo.h, llvm/lib/ABI CMakeLists.txt

[llvm] Implement the BPF ABI (#194031)

Implements BPFTargetInfo, the first target-specific ABI lowering for the
LLVM ABI library introduced in #158329.

BPFTargetInfo mirrors the BPF ABI rules currently encoded in
`clang::BPFABIInfo` (clang/lib/CodeGen/Targets/BPF.cpp), but operates
entirely on `llvm::abi` types, keeping the logic frontend-independent:

  - Empty aggregates and void returns are ignored
  - Aggregates ≤64 bits are coerced to an aligned integer type
  - Aggregates 65–128 bits are coerced to [2 x i64]
- Aggregates >128 bits and oversized _BitInt types are passed/returned
indirectly
  - Promotable integers are sign/zero extended
  - All aggregate returns are indirect

Also adds the `createBPFTargetInfo` factory function declaration to
TargetInfo.h.
DeltaFile
+88-0llvm/lib/ABI/Targets/BPF.cpp
+1-1llvm/include/llvm/ABI/TargetInfo.h
+1-0llvm/lib/ABI/CMakeLists.txt
+90-13 files

LLVM/project da2c4a9clang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode Compiler.cpp

[clang] Add constant evaluation support for CK_ToUnion. (#193370)

Implementation is heavily based on the evaluation code for initializer
lists, but it's different enough that I couldn't figure out a good way
to share the code.

This fixes one of the few remaining gaps where CodeGen can
constant-evaluate a value which AST can't evaluate.
DeltaFile
+25-0clang/lib/AST/ByteCode/Compiler.cpp
+16-0clang/lib/AST/ExprConstant.cpp
+6-0clang/test/AST/ByteCode/const-eval.c
+1-1clang/lib/CodeGen/CGExprConstant.cpp
+48-14 files

LLVM/project 5b570d1mlir/lib/Target/LLVMIR/Dialect/LLVMIR LLVMToLLVMIRTranslation.cpp

[NFC][MLIR] Use `getIntrinsicSignature` to verify overloaded intrinsics (#194035)

`getIntrinsicSignature` internally handles the decoding of the IIT table
and running the match, which is what this code is doing. So, use that
instead of manually doing what `getIntrinsicSignature` does.
DeltaFile
+3-11mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
+3-111 files

LLVM/project fa2588ellvm/lib/Transforms/Instrumentation NumericalStabilitySanitizer.cpp

[NFC][NSAN] Use `getIntrinsicSignature` instead of `matchIntrinsicSignature` (#194025)

`getIntrinsicSignature` internally handles the decoding of the IIT table
and running the match, which is what this code is doing. So use that
instead of manually doing what `getIntrinsicSignature` does.
DeltaFile
+5-9llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
+5-91 files

LLVM/project 1813c32clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlow.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h

remove base default ctor call
DeltaFile
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+2-22 files

LLVM/project 2b4aba3.github/workflows issue-release-workflow.yml

Revert "workflows/issue-release-workflow: Use GitHub app for generating token…"

This reverts commit 7ec8037f32433322ad643bb54c811dd7a4f68b0c.
DeltaFile
+1-13.github/workflows/issue-release-workflow.yml
+1-131 files

LLVM/project 2eb7b02clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlow.h

add 'explicit'
DeltaFile
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
+2-22 files

LLVM/project 5e8f37fclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94754 files not shown
+6,257-1,41560 files

LLVM/project 180b109clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94781 files not shown
+7,886-1,41587 files

LLVM/project 142ec21clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94754 files not shown
+6,257-1,41560 files

LLVM/project 07616bfclang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94754 files not shown
+6,251-1,41560 files

LLVM/project 95a8b28clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94754 files not shown
+6,251-1,41560 files

LLVM/project 42e6ec3clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94750 files not shown
+6,065-1,04856 files

LLVM/project 2b56336clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+163-0clang/include/clang/AST/OpenMPClause.h
+150-0clang/lib/Sema/SemaOpenMP.cpp
+5,017-94748 files not shown
+5,781-1,04854 files

LLVM/project 8c2cf49clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+233-0clang/test/OpenMP/replayable_ast_print.cpp
+163-0clang/include/clang/AST/OpenMPClause.h
+5,100-94750 files not shown
+6,065-1,04856 files

LLVM/project 29d8721clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+526-197clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+122-0clang/lib/Sema/SemaOpenMP.cpp
+94-0clang/include/clang/AST/OpenMPClause.h
+4,890-94648 files not shown
+5,511-1,03854 files

LLVM/project c213862clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+556-198clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+163-0clang/include/clang/AST/OpenMPClause.h
+150-0clang/lib/Sema/SemaOpenMP.cpp
+5,017-94748 files not shown
+5,781-1,04854 files

LLVM/project ec42eb9clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/lib/Sema SemaOpenMP.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+526-197clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+122-0clang/lib/Sema/SemaOpenMP.cpp
+94-0clang/test/OpenMP/taskgraph_clauses_ast_print.cpp
+4,890-94648 files not shown
+5,511-1,03854 files

LLVM/project defd8f9clang/include/clang/AST OpenMPClause.h, clang/lib/CodeGen CGOpenMPRuntime.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.5

[skip ci]
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+526-197clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+122-0clang/lib/Sema/SemaOpenMP.cpp
+94-0clang/include/clang/AST/OpenMPClause.h
+4,890-94646 files not shown
+5,433-1,03852 files

LLVM/project bfa88a8libc/include wchar.yaml, libc/src/wchar wcscoll.cpp wcscoll.h

[libc] Implement wcscoll (#192778)

_Closes #191073_
- `libc/src/wchar/wcscoll.cpp` - Implementation of wcscoll
- `libc/src/wchar/wcscoll.h` - Internal header for wcscoll
- `libc/include/wchar.yaml` - Added wcscoll to public header spec
- `libc/src/wchar/CMakeLists.txt` - Added build target for wcscoll
- `libc/config/linux/x86_64/entrypoints.txt` - Registered wcscoll
entrypoint
- `libc/test/src/wchar/wcscoll_test.cpp` - Unit tests for wcscoll
- `libc/test/src/wchar/CMakeLists.txt` - Added test target for wcscoll

Note: Locale support is not yet implemented. `wcscoll` currently behaves
identically to `wcscmp` until locale support is available in llvm-libc.
DeltaFile
+139-0libc/test/src/wchar/wcscoll_test.cpp
+29-0libc/src/wchar/wcscoll.cpp
+21-0libc/src/wchar/wcscoll.h
+10-0libc/src/wchar/CMakeLists.txt
+10-0libc/test/src/wchar/CMakeLists.txt
+8-1libc/include/wchar.yaml
+217-11 files not shown
+218-17 files

LLVM/project f0233d3clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/lib/Sema SemaOpenMP.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5
DeltaFile
+2,969-220openmp/runtime/src/kmp_taskdeps.cpp
+969-452openmp/runtime/src/kmp_tasking.cpp
+526-197clang/lib/CodeGen/CGOpenMPRuntime.cpp
+210-77openmp/runtime/src/kmp.h
+122-0clang/lib/Sema/SemaOpenMP.cpp
+94-0clang/test/OpenMP/taskgraph_clauses_ast_print.cpp
+4,890-94646 files not shown
+5,433-1,03852 files