LLVM/project 5200600clang-tools-extra/include-cleaner/lib WalkAST.cpp, clang-tools-extra/include-cleaner/unittests WalkASTTest.cpp

[include-cleaner] Ensure receiver headers are kept when accessing ObjC properties (#212633)

When accessing Objective-C properties via dot-notation (e.g., obj.foo),
include-cleaner was previously only recording the usage of the property
itself or its underlying getter/setter methods. This could lead to cases
where the header declaring the receiver's type (Interface or Protocol)
was incorrectly flagged as unused if no other standard methods were
invoked on it.
DeltaFile
+304-6clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
+13-2clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+317-82 files

LLVM/project 9c121cdllvm/include/llvm/DebugInfo/DWARF DWARFExpressionPrinter.h, llvm/lib/DebugInfo/DWARF DWARFExpressionPrinter.cpp

[DebugInfo] Fix compact DWARF expression failure handling (#213391)

printDwarfExpressionCompact has two pre-existing failure paths that
silently produce bad output.

The register-name callback is optional, but the short DW_OP_reg* and
DW_OP_breg* paths call it directly, so a missing callback falls over.
Use resolveRegName for every register form and report an unknown
register only after both name-resolution paths fail.

DW_OP_entry_value has the same problem: it ignores a failed recursive
print, wraps the partial output in entry(...), and returns true. Print
entry-value subexpressions into a temporary buffer and propagate failure
before adding entry(...), so a failed subexpression can't come back as
successful output.

While here, GetRegName in llvm-objdump has a latent ordering issue: it
writes an unknown-register diagnostic as soon as target lookup misses,
even though resolveRegName can still decode an ASCII-packed

    [13 lines not shown]
DeltaFile
+109-55llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
+50-0llvm/test/tools/llvm-objdump/ELF/ARM/debug-vars-ascii-packed-reg.s
+28-9llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
+3-1llvm/include/llvm/DebugInfo/DWARF/DWARFExpressionPrinter.h
+1-2llvm/tools/llvm-objdump/SourcePrinter.cpp
+191-675 files

LLVM/project 3e9646alld/test/wasm shared-synthetic-symbols.s, lld/wasm Driver.cpp

[lld][WebAssembly] Allow linker-synthetic symbols to be undefine when building shared libraries (#153537)

Fixes: #103592
DeltaFile
+75-0lld/test/wasm/shared-synthetic-symbols.s
+21-10lld/wasm/Driver.cpp
+96-102 files

LLVM/project 54ee0d1llvm/lib/Target/AMDGPU GCNHazardRecognizer.h GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU vperm-pk16-postmisched-hazard.mir vperm-pk16-sched-softcost.mir

[AMDGPU] Prefer a safe V_PERM_PK16 follower in the scheduler (gfx1250)

Stacked on the post-RA V_PERM_PK16 hazard fixup. V_PERM_PK16 must be
immediately followed by a "safe" instruction (see
SIInstrInfo::isVPermPk16SafeInstr) or the post-RA fixup has to insert a
forced-EXEC V_NOP. Teach GCNHazardRecognizer to bias a safe follower into
the slot right after a V_PERM_PK16 so that V_NOP can be avoided.

Assisted-by: Opus 4.8 Medium
DeltaFile
+56-0llvm/test/CodeGen/AMDGPU/vperm-pk16-sched-softcost.mir
+46-3llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+33-0llvm/test/CodeGen/AMDGPU/vperm-pk16-postmisched-hazard.mir
+21-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+156-34 files

LLVM/project 5194e33llvm/include/llvm/ExecutionEngine/Orc/RTBridge Calls.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS Calls.h

[ORC] Hoist Caller state into the base; add operator bool (#214483)

Move the ExecutionSession reference and callee address up from the SPS
implementation into the rt::Caller base, together with their constructor
and new executionSession() / calleeAddr() accessors. The named callers
(MainCaller, VoidVoidCaller, ...) become plain aliases of Caller rather
than subclasses, and rt::sps::Caller inherits the base constructor.

Add an explicit operator bool() reporting whether the caller has a
non-null callee address.

Give rt::sps::Caller::Create a SymbolLookupFlags parameter. Looking the
callee up as a weakly-referenced symbol now yields a caller with a null
callee (operator bool == false) when the symbol is absent, rather than
an error -- so callers for optional runtime functions can be constructed
and then tested for availability.

Adds SPSCallersTest coverage for operator bool and the accessors, and
for the required/weak x present/absent Create paths.
DeltaFile
+72-0llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp
+21-19llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
+27-7llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
+120-263 files

LLVM/project d50b994llvm/lib/Target/NVPTX NVPTXAsmPrinter.cpp, llvm/test/CodeGen/NVPTX fp128-global.ll

[NVPTX][AsmPrinter] Allow fp128 aggregate types in NVPTX backend (#214546)

Fixes an issue where aggregate types containing fp128 non-zero elements
would cause "unsupported type" due to missing case in bufferLEByte. Adds
fp128-global.ll test.
DeltaFile
+23-0llvm/test/CodeGen/NVPTX/fp128-global.ll
+1-0llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+24-02 files

LLVM/project 8972983bolt/lib/Core Relocation.cpp, bolt/lib/Target/AArch64 AArch64MCSymbolizer.cpp AArch64MCPlusBuilder.cpp

[BOLT][AArch64] Add TLSGD relocations support (#213700)
DeltaFile
+11-1bolt/test/AArch64/runtime-relocs.test
+12-0bolt/lib/Core/Relocation.cpp
+4-0bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
+2-0bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
+29-14 files

LLVM/project 6c9b8edllvm/lib/Target/AMDGPU AMDGPUInstructions.td, llvm/test/CodeGen/AMDGPU/GlobalISel shl.ll lshr.ll

[AMDGPU][GISel] Match constrained shifts across register bank copies

The constrained shift PatFrags (csh_mask_* wrapped by cshl_/csrl_/csra_)
supply GISelPredicateCode and are imported into the GlobalISel match
table, but they never fired for a divergent shift. AMDGPURegBankLegalize
places a cross-bank COPY in two positions inside the shape they match:

 - the mask constant stays in the SGPR bank, so a divergent G_AND reads
   it through a COPY and the frag's imm operand is not a G_CONSTANT;
 - a uniform G_AND feeding a divergent shift is copied to the VGPR bank,
   so the shift's amount operand is not a G_AND.

Either way GIM_CheckOpcode rejects the rule before isUnneededShiftMask
is ever consulted, and the redundant v_and_b32 survives into the output.

Set GIIgnoreCopies so the matcher emits GIM_RecordInsnIgnoreCopies for
those operands. A frag's flags only govern how its own operands are
found, so the first position needs the flag on csh_mask_* while the
second needs it on the node holding the shift; split the masked

    [17 lines not shown]
DeltaFile
+2,694-3,212llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+2,512-2,966llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+316-0llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shift-amount-mask.mir
+32-6llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
+3-21llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
+3-21llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
+5,560-6,2263 files not shown
+5,575-6,2669 files

LLVM/project ec17d93.github/workflows release-documentation.yml

workflows: Merge release-doxygen into release-documenation

These two workflows use the same script and have the same structure,
so it's easier just to have one job that builds both.
DeltaFile
+35-10.github/workflows/release-documentation.yml
+35-101 files

LLVM/project d3e880c.github/workflows release-documentation.yml

Remove debug
DeltaFile
+0-2.github/workflows/release-documentation.yml
+0-21 files

LLVM/project be09ead.github/workflows release-documentation.yml

Debug
DeltaFile
+2-1.github/workflows/release-documentation.yml
+2-11 files

LLVM/project e8d506dllvm/utils/release build-docs.sh

Revert "Fix typo"

This reverts commit f90c6dd3e5c5855b327b059982eb94d0ab3a0f73.
DeltaFile
+1-1llvm/utils/release/build-docs.sh
+1-11 files

LLVM/project b8674a5.github/workflows release-documentation.yml

Cleanups
DeltaFile
+0-18.github/workflows/release-documentation.yml
+0-181 files

LLVM/project 18caded.github/workflows release-documentation.yml

Remove debugging
DeltaFile
+0-1.github/workflows/release-documentation.yml
+0-11 files

LLVM/project 84ee1f5.github/workflows release-documentation.yml

Digest fix
DeltaFile
+1-2.github/workflows/release-documentation.yml
+1-21 files

LLVM/project 1fa2558llvm/utils/release build-docs.sh

Revert "Fix build of libcxx docs"

This reverts commit 179432674685f1eb5a7546f1fa1434ab75fee36f.
DeltaFile
+11-3llvm/utils/release/build-docs.sh
+11-31 files

LLVM/project 50d78c0llvm/utils/release build-docs.sh

Revert "Fix typo"

This reverts commit a5d98fb1210839d7b0fe58b0be77ed6d379226b4.
DeltaFile
+1-1llvm/utils/release/build-docs.sh
+1-11 files

LLVM/project e5b8a21.github/workflows release-documentation.yml

Remove unused variable
DeltaFile
+0-2.github/workflows/release-documentation.yml
+0-21 files

LLVM/project f6d9424.github/workflows release-documentation.yml

Fixes
DeltaFile
+5-3.github/workflows/release-documentation.yml
+5-31 files

LLVM/project ec3f33c.github/workflows release-documentation.yml

Debug
DeltaFile
+1-0.github/workflows/release-documentation.yml
+1-01 files

LLVM/project 7de8478.github/workflows release-documentation.yml

Fixes
DeltaFile
+3-3.github/workflows/release-documentation.yml
+3-31 files

LLVM/project e3a7ba0.github/workflows release-documentation.yml

Fix
DeltaFile
+1-1.github/workflows/release-documentation.yml
+1-11 files

LLVM/project 26a7b07.github/workflows release-documentation.yml

Fix matrix
DeltaFile
+9-8.github/workflows/release-documentation.yml
+9-81 files

LLVM/project 0733df3llvm/utils/release build-docs.sh

Fix build of libcxx docs
DeltaFile
+3-11llvm/utils/release/build-docs.sh
+3-111 files

LLVM/project 35ede85.github/workflows release-tasks.yml release-doxygen.yml

Remove doxygen workflow
DeltaFile
+0-130.github/workflows/release-doxygen.yml
+0-16.github/workflows/release-tasks.yml
+0-1462 files

LLVM/project ef4692d.github/workflows release-documentation.yml

Remove permissions
DeltaFile
+0-4.github/workflows/release-documentation.yml
+0-41 files

LLVM/project efdf3eb.github/workflows release-documentation.yml

Fix
DeltaFile
+5-0.github/workflows/release-documentation.yml
+5-01 files

LLVM/project 089093f.github/workflows release-documentation.yml, llvm/utils/release build-docs.sh

Fixes and cleanups
DeltaFile
+5-5.github/workflows/release-documentation.yml
+1-1llvm/utils/release/build-docs.sh
+6-62 files

LLVM/project f801162.github/workflows release-documentation.yml

Fix tarballanmes and add pull_reqeust block
DeltaFile
+6-4.github/workflows/release-documentation.yml
+6-41 files

LLVM/project 891e61d.github/workflows release-documentation.yml

ebug
DeltaFile
+0-5.github/workflows/release-documentation.yml
+0-51 files