LLVM/project 65390b7clang/test/CodeGen target-data.c, clang/test/CodeGenOpenCL amdgpu-env-amdgcn.cl

[AMDGPU] Update data layout string to use the new pointer spec about null pointer value
DeltaFile
+7-6llvm/lib/TargetParser/TargetDataLayout.cpp
+4-4clang/test/CodeGen/target-data.c
+3-3lld/test/ELF/lto/amdgcn-oses.ll
+1-1lld/test/ELF/lto/r600.ll
+1-1clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
+1-1lld/test/ELF/lto/amdgcn.ll
+17-166 files

LLVM/project 6a93647llvm/lib/Transforms/Scalar SROA.cpp, llvm/test/Transforms/SROA protected-field-pointer.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+0-93llvm/test/Transforms/SROA/protected-field-pointer.ll
+5-78llvm/lib/Transforms/Scalar/SROA.cpp
+5-1712 files

LLVM/project 84b0809llvm/include/llvm/CodeGen/GlobalISel Utils.h, llvm/include/llvm/Target/GlobalISel Combine.td

[GIsel] Add constant-folding for bit-counting ops (#194010)
DeltaFile
+227-0llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-count.mir
+31-21llvm/lib/CodeGen/GlobalISel/Utils.cpp
+10-17llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
+17-0llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+13-0llvm/include/llvm/Target/GlobalISel/Combine.td
+6-6llvm/include/llvm/CodeGen/GlobalISel/Utils.h
+304-441 files not shown
+308-447 files

LLVM/project 2428fbbllvm/test/Other new-pm-thinlto-prelink-samplepgo-defaults.ll new-pm-thinlto-prelink-pgo-defaults.ll

[NFC][ThinLTO] Remove JumpTableToSwitchPass from the test (#194103)

It's there from invalid conflict resolution in #193649.
DeltaFile
+0-1llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+0-66 files

LLVM/project 7059fc5clang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticFrontendKinds.td

Revert "[Clang][CodeGen] Report when an alias points to an incompatible target" (#194106)

Reverts llvm/llvm-project#192397
DeltaFile
+0-40clang/test/Sema/attr-alias-elf.c
+0-38clang/lib/CodeGen/CodeGenModule.cpp
+1-6compiler-rt/lib/dfsan/dfsan_custom.cpp
+0-6clang/test/SemaObjC/attr-alias.m
+0-6clang/include/clang/Basic/DiagnosticFrontendKinds.td
+0-4clang/docs/ReleaseNotes.rst
+1-1001 files not shown
+2-1017 files

LLVM/project c3df8f8llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp, llvm/test/CodeGen/SPIRV/hlsl-intrinsics reversebits.ll

[SPIRV] Add 64 bit lowering for bitreverse (#193068)

Bit reverse didn't handle 64-bit ints; this patch adds such handling.

#fix: https://github.com/llvm/llvm-project/issues/192756
DeltaFile
+86-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
+56-1llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+142-12 files

LLVM/project 9ba6d33llvm/test/Other new-pm-thinlto-postlink-pgo-defaults.ll new-pm-thinlto-postlink-samplepgo-defaults.ll

remove all -O23SZ-

Created using spr 1.3.7
DeltaFile
+0-1llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
+0-1llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
+0-55 files

LLVM/project 4d0d6dcllvm/test/Other new-pm-thinlto-postlink-defaults.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+0-1llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+0-11 files

LLVM/project 6dd373fcompiler-rt/test/sanitizer_common/TestCases/Linux pthread_join.cpp

[sanitizer] Relax pthread_join tests for different glibc versions (#194100)

New (2.43) glibc successfully joins already joined threads.
Probably result of
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=f7648bf44384118b6658ddcd741408fc4fbdd056
DeltaFile
+14-5compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
+14-51 files

LLVM/project bd1c308clang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticFrontendKinds.td

[Clang][CodeGen] Report when an alias points to an incompatible target (#192397)

Add checks to ensure that an alias and its target have compatible types:
- Generate an error if a function alias points to a variable or vice
  versa.
 - Issue a warning for mismatches in function types.
 - Ignore type discrepancies for variables.

This behavior aligns with similar diagnostics in GCC.

Resolves: #47301
DeltaFile
+40-0clang/test/Sema/attr-alias-elf.c
+38-0clang/lib/CodeGen/CodeGenModule.cpp
+6-1compiler-rt/lib/dfsan/dfsan_custom.cpp
+6-0clang/include/clang/Basic/DiagnosticFrontendKinds.td
+6-0clang/test/SemaObjC/attr-alias.m
+4-0clang/docs/ReleaseNotes.rst
+100-11 files not shown
+101-27 files

LLVM/project e66613fllvm/lib/Target/CSKY CSKYInstrInfo.cpp

[CSKY] Fix build after #191460 (#194102)
DeltaFile
+1-1llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
+1-11 files

LLVM/project c65f328lld/test/ELF/lto amdgcn-oses.ll amdgcn.ll, llvm/lib/TargetParser TargetDataLayout.cpp

[AMDGPU] Update data layout string to use the new pointer spec about null pointer value
DeltaFile
+7-6llvm/lib/TargetParser/TargetDataLayout.cpp
+3-3lld/test/ELF/lto/amdgcn-oses.ll
+1-1lld/test/ELF/lto/amdgcn.ll
+11-103 files

LLVM/project f478220llvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchLSXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx/ir-instruction fpext.ll

[LoongArch] Add support for vector FP_EXTEND from vxf32 to vxf64 (#164746)
DeltaFile
+72-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+7-36llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fpext.ll
+7-20llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fpext.ll
+9-0llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+4-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.h
+100-566 files

LLVM/project 4170f6dclang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

fix clang format
DeltaFile
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+1-11 files

LLVM/project 6d7a963llvm/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 cc65737clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.cpp

address comments
DeltaFile
+442-0clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
+0-433clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/PointerFlowReachableAnalysisTest.cpp
+16-18clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
+4-4clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
+1-1clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
+463-4565 files

LLVM/project 4a7ae4bllvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/Transforms/LowerTypeTests x86-jumptable-dbg.ll aarch64-jumptable-dbg.ll

Revert "Reland: [LowerTypeTests] Add debug info to jump table entries" (#194095)

Reverts llvm/llvm-project#193670

Downstream test failure.
DeltaFile
+4-68llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+8-32llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
+4-16llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
+16-1163 files

LLVM/project d81aef4compiler-rt/test/sanitizer_common/TestCases/Linux pthread_join.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+14-5compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
+14-51 files

LLVM/project a175bd2llvm/test/CodeGen/LoongArch legalize-v2f32-load.ll

add tests for loongarch32
DeltaFile
+4-7llvm/test/CodeGen/LoongArch/legalize-v2f32-load.ll
+4-71 files

LLVM/project 63a3e50llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

fixes according reviews
DeltaFile
+12-14llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+12-141 files

LLVM/project 65a1ba6llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch vector-fp-imm.ll

[LoongArch] Type legalize v2f32 loads by using an f64 load and a scalar_to_vector.

On 64-bit targets the generic legalize will use an i64 load and a
scalar_to_vector for us. But on 32-bit targets i64 isn't legal and the
generic legalizer will end up emitting two 32-bit loads.
DeltaFile
+28-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-2llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
+29-22 files

LLVM/project 49a414bllvm/test/CodeGen/LoongArch legalize-v2f32-load.ll

[LoongArch][NFC] Add tests for v2f32 load legalization on LSX
DeltaFile
+27-0llvm/test/CodeGen/LoongArch/legalize-v2f32-load.ll
+27-01 files

LLVM/project df999b0llvm/test/CodeGen/AArch64/Atomics aarch64-atomicrmw-lse2.ll aarch64-atomicrmw-v8a.ll, llvm/test/CodeGen/AArch64/GlobalISel arm64-atomic.ll

Merge branch 'main' into users/ylzsx/opt-vector-fpext
DeltaFile
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
+615-615llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
+836-297llvm/test/CodeGen/X86/masked-srem.ll
+6,451-6,132722 files not shown
+28,678-14,784728 files

LLVM/project c559c1bllvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/Transforms/LowerTypeTests x86-jumptable-dbg.ll aarch64-jumptable-dbg.ll

Revert "Reland: [LowerTypeTests] Add debug info to jump table entries (#193670)"

This reverts commit dd13552783cea190f569b369eb2fc879b6336398.
DeltaFile
+4-68llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+8-32llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
+4-16llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
+16-1163 files

LLVM/project ad756c1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowFormat.h

address comments
DeltaFile
+4-2clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
+4-21 files

LLVM/project 87317d3compiler-rt/lib/builtins fp_compare_impl.inc

[compiler-rt][WebAssembly] Use an int as CMP_RESULT (#194093)

LLVM uses an i32 as the default for `getCmpLibcallReturnType`, but
compiler-rt uses a word-sized integer by default. On most physical
hardware this happens to work because `i32` is largely ABI-compatible
with a word. On wasm64, however, they are not compatible so this causes
problems.

Resolve this by using `int` as the comparison result in compiler-rt.

Closes: https://github.com/llvm/llvm-project/issues/75302
Closes: https://github.com/llvm/llvm-project/issues/192416
DeltaFile
+3-0compiler-rt/lib/builtins/fp_compare_impl.inc
+3-01 files

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

fix build issue
DeltaFile
+1-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+0-1clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+1-12 files

LLVM/project 0c472c1lldb/source/Expression IRMemoryMap.cpp, lldb/unittests/Expression IRMemoryMapTest.cpp

[lldb] Handle partial memory region coverage in IRMemoryMap::FindSpace (#194001)

FindSpace walks process memory regions to find addresses that won't
collide with the inferior's real memory. This is necessary even for
host-only allocations because the IR Interpreter works entirely in
inferior virtual addresses. IRMemoryMap remaps those addresses to read
from host memory instead of inferior memory, so overlapping ranges would
silently read the wrong data.

For WebAssembly, GetMemoryRegionInfo succeeds for the first region
(linear memory) but fails for addresses beyond it. The previous fix
(#193124) skipped the memory region walk entirely when `CanJIT()` is
false. However, as Jason points out, that removes the
collision-avoidance mechanism and risks overlapping with real inferior
memory.

Instead, handle the GetMemoryRegionInfo failure gracefully. If the
target can't describe memory beyond a certain point, treat the remaining
address space as unmapped and use it for the allocation. This preserves
the collision avoidance while avoiding the lldbassert.
DeltaFile
+6-8lldb/source/Expression/IRMemoryMap.cpp
+6-6lldb/unittests/Expression/IRMemoryMapTest.cpp
+12-142 files

LLVM/project e38b8dallvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV][P-ext] Remove dead code from LowerOperation handling of ISD::STORE. NFC (#194088)

We rely on default type legaliation of v2i16 and v4i8 stores for RV64P.
DeltaFile
+1-11llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-111 files

LLVM/project ec9d7d1llvm/include/llvm/ProfileData ETMTraceDecoder.h, llvm/lib/ProfileData ETMTraceDecoder.cpp

Revert "[llvm-profgen] Add support for ETM trace decoding" (#194087)

Reverts llvm/llvm-project#191584

Caused build failures in llvm-profgen:
https://lab.llvm.org/buildbot/#/builders/46/builds/34367
https://lab.llvm.org/buildbot/#/builders/10/builds/27229
DeltaFile
+0-251llvm/lib/ProfileData/ETMTraceDecoder.cpp
+33-68llvm/tools/llvm-profgen/llvm-profgen.cpp
+18-71llvm/tools/llvm-profgen/PerfReader.cpp
+0-81llvm/test/tools/llvm-profgen/etm-arch.test
+0-48llvm/test/tools/llvm-profgen/Inputs/etm-opencsd.yaml
+0-46llvm/include/llvm/ProfileData/ETMTraceDecoder.h
+51-5658 files not shown
+69-66714 files