LLVM/project 7dcd1d2clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

Revert "[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)" (#203432)

This reverts commit 9f1e08fa8ed7bcf4b7cfaf9eaaa7c23a2d3ed347.

It causes build error:
https://lab.llvm.org/buildbot/#/builders/2/builds/53597.
The use of 'setCurrentDebugType' should be guarded by '#ifndef NDEBUG'
DeltaFile
+2-43clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+12-15clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+0-26clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+11-11clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+0-9clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+25-1045 files

LLVM/project 9574637clang/lib/Headers riscv_packed_simd.h, clang/test/CodeGen/RISCV rvp-intrinsics.c

[Clang][RISCV] packed comparison intrinsics (#203191)

Add header wrappers for pmseq/pmsne/pmslt[u]/pmsgt[u]/pmsge[u]/pmsle[u]
as element-wise vector comparisons cast to the unsigned result type.
DeltaFile
+1,444-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+444-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+71-0clang/lib/Headers/riscv_packed_simd.h
+1,959-03 files

LLVM/project d543c49clang/lib/Driver/ToolChains Darwin.cpp, clang/test/Driver darwin-objc-selector-stubs.m

[clang][Darwin] Disable ObjC class selector stubs when using LLD (#203388)

LLD does not support ObjC class selector stubs yet (which requires
synthesizing `objc_msgSendClass$...` stubs). This change disables
`-fobjc-msgsend-class-selector-stubs` by default when the linker is LLD.
Ref: https://github.com/llvm/llvm-project/issues/203385
DeltaFile
+5-1clang/lib/Driver/ToolChains/Darwin.cpp
+2-1clang/test/Driver/darwin-objc-selector-stubs.m
+7-22 files

LLVM/project 6aeb74bclang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

Revert "[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)"

This reverts commit 9f1e08fa8ed7bcf4b7cfaf9eaaa7c23a2d3ed347.

It causes build error: https://lab.llvm.org/buildbot/#/builders/2/builds/53597
The use of 'setCurrentDebugType' should be guarded by '#ifndef NDEBUG'
DeltaFile
+2-43clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+12-15clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+0-26clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+11-11clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+0-9clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+25-1045 files

LLVM/project d583701libc/config/baremetal config.json

[libc] Enable baremetal printf float320 (#203421)

For memory constrained baremetal devices using float320 seems a
reasonable option by default.
DeltaFile
+3-0libc/config/baremetal/config.json
+3-01 files

LLVM/project 10f1094llvm/lib/Target/AMDGPU SIInstructions.td AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Make v2f64 fneg legal on gfx1251
DeltaFile
+48-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+21-0llvm/lib/Target/AMDGPU/SIInstructions.td
+16-1llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+7-0llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+3-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+96-46 files

LLVM/project 3ef102bclang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp, clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowTest.cpp

[SSAF][PointerFlowExtractor] Handle empty initializer lists for scalars and unions (#201968)

Empty initializer lists for scalars and unions are corner cases that
were previously missed by the PointerFlowExtractor. This commit adds
support for these cases. Because the initializing values are implicitly
constant 0 (or nullptr), they do not bridge entity pointer levels.

rdar://178856689

---------

Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
DeltaFile
+70-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+6-5clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+76-52 files

LLVM/project 7597c0cllvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Validate WMMA scale/format combination (#203074)

Only some combinations are listed as supported.

Fixes: https://github.com/ROCm/llvm-project/issues/2634
DeltaFile
+27-7llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+16-16llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
+16-16llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
+31-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+12-12llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
+20-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.fmt-error.ll
+122-513 files not shown
+152-519 files

LLVM/project 4881326mlir/lib/Dialect/Vector/Transforms LowerVectorContract.cpp, mlir/test/Dialect/Vector vector-contract-to-parallel-arith-transforms.mlir

[mlir][vector][NFC] Document and simplify vector contract reshape helpers (#200544)

Replace the bare `// TODO` placeholders above `reshapeLoad` and
`reshapeStore`
in `LowerVectorContract.cpp` with doc comments describing each helper's
semantics (the `index == -1` / `index == 0` / `index > 0` cases) and
short
before/after IR examples.
  
Also drop the redundant `VectorType` parameter from both helpers; the
type is
now inferred from the value operand (`val` for `reshapeLoad`, `result`
for
`reshapeStore`).
  
Add a LIT test that exercises the recursive `reshapeLoad` unroll path by
mapping a parallel iterator to a non-leading dimension, which falls
through
to the generic `lowerParallel` / `reshapeLoad` path.

    [5 lines not shown]
DeltaFile
+40-24mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
+31-0mlir/test/Dialect/Vector/vector-contract-to-parallel-arith-transforms.mlir
+71-242 files

LLVM/project 9f1e08fclang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)

Hard errors were used in extractors during development to quickly
identify unsupported language constructs. This commit converts them to
DEBUG_WITH_TYPE so that these errors are silenced in release builds.

In addition, translating unsupported language constructs now silently
results in an empty EntityPointerLevelSet. The PointerFlowExtractor will
skip empty sets for either the source or the destination when building
edges to avoid an ill-formed edge set data structure.

rdar://178747892

---------

Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
DeltaFile
+43-2clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+15-12clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+26-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+11-11clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+9-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+104-255 files

LLVM/project fc7532cbolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+141-144bolt/lib/Profile/DataAggregator.cpp
+13-10bolt/include/bolt/Profile/DataAggregator.h
+1-1bolt/unittests/Core/MemoryMaps.cpp
+155-1553 files

LLVM/project 22c487abolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

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

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+134-136bolt/lib/Profile/DataAggregator.cpp
+10-10bolt/include/bolt/Profile/DataAggregator.h
+1-1bolt/unittests/Core/MemoryMaps.cpp
+145-1473 files

LLVM/project 2e708e7libcxx/include optional, libcxx/test/std/utilities/optional/optional.syn optional_nullopt_t.verify.cpp optional_in_place_t.verify.cpp

[libc++] Reimplement `optional<T&>` as a partial specialization (#201983)

- Break out the `optional<T&>` implementation that was interwoven with
the regular interface
- This should simplify the implementation
- And fix a missed added constraint for the `std::swap` specialization.
DeltaFile
+158-179libcxx/include/optional
+8-3libcxx/test/std/utilities/optional/optional.syn/optional_nullopt_t.verify.cpp
+7-1libcxx/test/std/utilities/optional/optional.syn/optional_in_place_t.verify.cpp
+173-1833 files

LLVM/project 117b225clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageExtractor.cpp

address comments
DeltaFile
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+2-22 files

LLVM/project 10836c2llvm/lib/Target/AMDGPU VOP3PInstructions.td SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Add gfx1251 V_PK_FMA_F64 (#203418)
DeltaFile
+370-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+60-0llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
+45-0llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
+34-0llvm/test/MC/AMDGPU/gfx1251_err.s
+10-0llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+521-22 files not shown
+524-28 files

LLVM/project 787de0dclang/include/clang/Analysis/Analyses/LifetimeSafety Origins.h FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Origins.cpp

[LifetimeSafety] Track per-field origins for record types
DeltaFile
+315-5clang/test/Sema/warn-lifetime-safety.cpp
+69-37clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+93-6clang/lib/Analysis/LifetimeSafety/Origins.cpp
+31-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
+4-6clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
+0-2clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+512-566 files

LLVM/project c9a8638clang/include/clang/Analysis/Analyses/LifetimeSafety Origins.h, clang/lib/Analysis/LifetimeSafety Origins.cpp

[LifetimeSafety][NFC] Collect accessed fields in a unified pre-scan
DeltaFile
+22-8clang/lib/Analysis/LifetimeSafety/Origins.cpp
+15-4clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
+37-122 files

LLVM/project f3f4de6clang/include/clang/Analysis/Analyses/LifetimeSafety Origins.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Facts.cpp

[LifetimeSafety][NFC] Add field-labeled child edges to OriginNode and generalize subtree walks
DeltaFile
+76-33clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
+38-18clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+16-8clang/lib/Analysis/LifetimeSafety/Facts.cpp
+8-3clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
+7-3clang/lib/Analysis/LifetimeSafety/Origins.cpp
+145-655 files

LLVM/project bfca0dbllvm/include/llvm/Frontend/HLSL CBuffer.h, llvm/lib/Frontend/HLSL CBuffer.cpp

[NFC][DirectX][SPIRV] Remove helper from HLSLFrontend (#203401)

Remove helper function `removeCBufferGlobalsFromUseList` which basically
implements existing `llvm::removeFromUsedLists`. Modify the passes that
use it to call `llvm::removeFromUsedLists`.

Follow-up on
https://github.com/llvm/llvm-project/pull/202745#discussion_r3398119720
DeltaFile
+0-48llvm/lib/Frontend/HLSL/CBuffer.cpp
+13-2llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
+12-2llvm/lib/Target/SPIRV/SPIRVCBufferAccess.cpp
+0-1llvm/include/llvm/Frontend/HLSL/CBuffer.h
+25-534 files

LLVM/project bd1de35llvm/lib/TargetParser Host.cpp

Add Apple M5 host detection (#200616)

The values have been taken from `mach/machine.h` in the Xcode 26.5 SDK.
DeltaFile
+11-2llvm/lib/TargetParser/Host.cpp
+11-21 files

LLVM/project fcbe926llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV clmul.ll clmulr.ll

Merge remote-tracking branch 'origin/main' into users/ziqingluo/ssaf-extractor-improve

Conflicts:
  clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
  clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
DeltaFile
+38,494-84,026llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+22,388-22,086llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+19,087-24,391llvm/test/CodeGen/RISCV/clmul.ll
+12,982-11,930llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,473-12,572llvm/test/CodeGen/RISCV/clmulr.ll
+10,287-12,385llvm/test/CodeGen/RISCV/clmulh.ll
+113,711-167,39012,134 files not shown
+936,829-593,79112,140 files

LLVM/project 236b922clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.cpp, clang/unittests/ScalableStaticAnalysisFramework FindDecl.h

Fix the bug that previously template instantiations were not visited!
DeltaFile
+50-5clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+44-3clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+5-1clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h
+5-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
+104-94 files

LLVM/project 673ec22lldb/test/API/macosx/simulator TestSimulatorPlatform.py

[lldb][macosx] Pare down the SimulatPlatform tests, don't run on intel (#203417)

TestSimulatorPlatform.py is flakey on the Intel Mac CI, doing a
'platform process list' and not getting a reply back. The issue is only
happening on the old Intel mac CI and not the newer arm64 CI's; it is
not important. I am skipping this test on the Intel mac CI.

I'm also removing test runs that try to build 32-bit binaries (i386,
armv7k) and the tests that would explicitly test for a legacy build load
command (e.g. `LC_VERSION_MIN_IPHONEOS`); we don't support building back
to when OSes were using those, any more.
DeltaFile
+3-186lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
+3-1861 files

LLVM/project 04f8141llvm/lib/Target/AMDGPU VOP3PInstructions.td SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Add gfx1251 V_PK_FMA_F64
DeltaFile
+370-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+60-0llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
+45-0llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
+34-0llvm/test/MC/AMDGPU/gfx1251_err.s
+10-0llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+521-22 files not shown
+524-28 files

LLVM/project 3397635llvm/lib/Target/AMDGPU SIISelLowering.cpp VOP3PInstructions.td, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Add gfx1251 V_PK_MUL_F64 (#203410)
DeltaFile
+595-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+48-0llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
+39-0llvm/test/MC/AMDGPU/gfx1251_err.s
+36-0llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2-0llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+722-21 files not shown
+724-27 files

LLVM/project 421d296clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp CIRABIRewriteContext.h, clang/test/CIR/Transforms/abi-lowering indirect-return-sret.cir

[CIR] Lower sret returns in CallConvLowering (#201716)

Functions that return an aggregate by value classify their return as
ArgKind::Indirect, but CallConvLowering reached an errorNYI for that
case, so the whole CallConv pass refused to lower any struct-returning
function.

rewriteFunctionDefinition now recognizes an Indirect return: the wire
return type becomes void, a hidden sret pointer is prepended as block
argument 0, and every cir.return is routed through that pointer.  Rather
than storing the loaded return value through the sret pointer (a
byte-copy that breaks non-trivially-copyable types -- libstdc++'s SSO
std::string keeps a _M_p pointer into its own _M_local_buf, so a
byte-copy leaves the destination aliasing the source's dying stack
storage), insertSRetStores rewires the __retval alloca to the sret
pointer so construction flows directly into the caller's slot, matching
classic CodeGen's "construct into %agg.result" pattern. CIRGen emits one
cir.load __retval / cir.return pair per return statement, all reading
the

    [25 lines not shown]
DeltaFile
+423-142clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+237-0clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
+3-4clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
+663-1463 files

LLVM/project 49de36c. .git-blame-ignore-revs

Add "Split clang/lib/CodeGen/CGBuiltin.cpp" to .git-blame-ignore-revs
DeltaFile
+3-0.git-blame-ignore-revs
+3-01 files

LLVM/project a193a91libc/src/__support freestore.h

[libc] restrict FreeTrie to the overflow bin in TLSF

- Rename config option to USE_TRIE_FOR_OVERFLOW_BIN.
- Restrict FreeTrie usage to only the last overflow bin (bit_index == TOTAL_BITS - 1).
- Simplify exact fit search to only use FreeList, as large sizes now always go to the overflow bin.
- Simplify away index_to_range by using a fixed [0, INF) range for the overflow Trie.
- Remove index argument from Trie helper functions as they only operate on the overflow bin.

TAG=agy
CONV=fe3b4efa-7a5b-4c74-8257-e53f0d6e4850
DeltaFile
+32-58libc/src/__support/freestore.h
+32-581 files

LLVM/project 92ae502llvm/lib/Target/AMDGPU VOP3PInstructions.td SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Add gfx1251 V_PK_FMA_F64
DeltaFile
+370-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+60-0llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
+45-0llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
+34-0llvm/test/MC/AMDGPU/gfx1251_err.s
+10-0llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+521-22 files not shown
+524-28 files

LLVM/project 5c224c4libc/src/__support freestore.h

[libc] restrict FreeTrie to the overflow bin in TLSF

- Rename config option to USE_TRIE_FOR_OVERFLOW_BIN.
- Restrict FreeTrie usage to only the last overflow bin (bit_index == TOTAL_BITS - 1).
- Simplify exact fit search to only use FreeList, as large sizes now always go to the overflow bin.
- Simplify away index_to_range by calculating overflow bin range via constexpr safe helper.
- Remove index argument from Trie helper functions as they only operate on the overflow bin.

TAG=agy
CONV=fe3b4efa-7a5b-4c74-8257-e53f0d6e4850
DeltaFile
+48-58libc/src/__support/freestore.h
+48-581 files