LLVM/project be18ac8llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp, llvm/test/CodeGen/SPIRV memset-large-size.ll

[SPIRV] Fix APInt overflow in memset constant array creation (#180189)

In getOrCreateConstIntArray(), the cache UniqueKey encoded the array
size (Num) using the array element type (e.g. i8 for memset). Since Num
is a size_t that can exceed 255, this caused an APInt overflow when Num
> 255. Use i64 for Num in the UniqueKey.
DeltaFile
+22-0llvm/test/CodeGen/SPIRV/memset-large-size.ll
+2-1llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+24-12 files

LLVM/project 9e355c8llvm/include/llvm/IR IntrinsicsSPIRV.td, llvm/lib/Target/SPIRV SPIRVEmitIntrinsics.cpp SPIRVLegalizePointerCast.cpp

[SPIRV] Fix alignment overflow in memory intrinsics (#180184)

Per SPIR-V spec alignment is 32-bit integer, so it should be encoded as
i8 in the intrinsics'
def.
DeltaFile
+21-0llvm/test/CodeGen/SPIRV/memory-inst-large-align.ll
+4-4llvm/include/llvm/IR/IntrinsicsSPIRV.td
+4-4llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+1-1llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+30-94 files

LLVM/project b74f8adclang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[NFC] [FlowSensitive] [StatusOr] Add tests for member accesses



Reviewers: jvoung

Reviewed By: jvoung

Pull Request: https://github.com/llvm/llvm-project/pull/180077
DeltaFile
+113-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+113-01 files

LLVM/project 1c3ed97clang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

address comment

Created using spr 1.3.7
DeltaFile
+0-7clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+0-71 files

LLVM/project b2f7508llvm/utils/gn/secondary/clang/lib/Analysis BUILD.gn, llvm/utils/gn/secondary/clang/unittests/Analysis BUILD.gn

[gn build] Port ec15bddde5cb
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
+2-02 files

LLVM/project 649c6bcllvm/utils/gn/secondary/llvm/lib/TargetParser BUILD.gn

[gn build] Port eff21afae01f
DeltaFile
+0-1llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
+0-11 files

LLVM/project d4d53b0llvm/utils/gn/secondary/llvm/lib/Target/Hexagon BUILD.gn

[gn build] Port 66f9ffbb2c28
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
+1-01 files

LLVM/project 9fe8e8bllvm/utils/gn/secondary/llvm/lib/CAS BUILD.gn, llvm/utils/gn/secondary/llvm/unittests/CAS BUILD.gn

[gn build] Port 60ecb3789606
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
+2-02 files

LLVM/project f98893dllvm/utils/gn/secondary/llvm/lib/Target/Hexagon BUILD.gn

[gn build] Port 28042a87022b
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
+1-01 files

LLVM/project ec15bddclang/include/clang/Analysis CFGBackEdges.h, clang/lib/Analysis CFGBackEdges.cpp CMakeLists.txt

[clang][analysis][dataflow] Detect goto backedges to trigger Widen (#179546)

Currently, the Clang Dataflow Framework only does Widen on backedges
from structured loops.

Missing some Widen calls (e.g., when there are backedges from gotos)
could cause some analyses to iterate ~forever (until the max visits
limit is hit).

This adds a simple search for backedges, and triggers Widen on the
additional backedge nodes. Fixes [issue 179083.
](https://github.com/llvm/llvm-project/issues/179083)
DeltaFile
+312-0clang/unittests/Analysis/CFGBackEdgesTest.cpp
+105-0clang/lib/Analysis/CFGBackEdges.cpp
+62-5clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
+54-0clang/include/clang/Analysis/CFGBackEdges.h
+8-11clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
+1-0clang/lib/Analysis/CMakeLists.txt
+542-161 files not shown
+543-167 files

LLVM/project 60ecb37llvm/include/llvm/CAS OnDiskGraphDB.h, llvm/lib/CAS OnDiskGraphDB.cpp BuiltinObjectHasher.cpp

 [llvm/CAS] Add file-based APIs to `OnDiskGraphDB` (#179782)

These allow performing optimizations that reduce I/O and disk space
consumption. For example, when applicable, a file can be cloned directly
into the database directory, instead of needing to load it in memory and
then copy its contents into a new file.

These APIs are then used to optimize importing data from an upstream DB
by using file cloning where applicable.
DeltaFile
+222-30llvm/lib/CAS/OnDiskGraphDB.cpp
+208-0llvm/unittests/CAS/OnDiskGraphDBTest.cpp
+51-0llvm/lib/CAS/BuiltinObjectHasher.cpp
+49-0llvm/unittests/CAS/BuiltinObjectHasherTest.cpp
+46-1llvm/include/llvm/CAS/OnDiskGraphDB.h
+15-0llvm/unittests/CAS/OnDiskCommonUtils.h
+591-313 files not shown
+595-319 files

LLVM/project 1bb916cclang/test/CodeGenHLSL matrix-member-one-based-accessor-scalar-load.hlsl matrix-member-zero-based-accessor-scalar-load.hlsl, clang/test/CodeGenHLSL/BasicFeatures MatrixExplicitTruncation.hlsl MatrixImplicitTruncation.hlsl

[HLSL] Represent Matrix as arrays of vectors in memory (#179861)

fixes https://github.com/llvm/llvm-project/issues/179859

For matrix types we need to check the language mode so we can change the
matrix memory layout to arrays of vectors. To make this play nice with
how the rest of clang treats matrices we need to modify the
MaybeConvertMatrixAddress and the CreateMemTemp function to know how to
reconstruct a flattened vector.

Rest of changes is just test updates.
DeltaFile
+16-16clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
+16-16clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
+16-16clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
+16-16clang/test/CodeGenHLSL/basic_types.hlsl
+15-15clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
+14-14clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
+93-9310 files not shown
+168-15116 files

LLVM/project 703c276llvm/lib/Analysis IVDescriptors.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

Revert "[LV] Support conditional scalar assignments of masked operations" (#180275)

Reverts llvm/llvm-project#178862 

revert to unblock bot:
https://lab.llvm.org/buildbot/#/builders/206/builds/13225
DeltaFile
+0-1,144llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
+0-100llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
+0-79llvm/unittests/Analysis/IVDescriptorsTest.cpp
+4-49llvm/lib/Analysis/IVDescriptors.cpp
+2-25llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+9-0llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
+15-1,3971 files not shown
+16-1,3987 files

LLVM/project 66f9ffbllvm/lib/Target/Hexagon HexagonLiveVariables.cpp HexagonLiveVariables.h, llvm/test/CodeGen/Hexagon nbench1.ll

[Hexagon] Add post-RA live variables analysis (#179531)

This patch adds HexagonLiveVariables, a post-RA liveness analysis for
physical registers, to keep block live-ins/live-outs and operand
kill/dead markers consistent after late Hexagon transforms; it is run
after GenMux in the pre-emit pipeline.

Author: Sergei Larin <slarin at qti.qualcomm.com>
Patch By: Fateme Hosseini <fhossein at qti.qualcomm.com>

Co-authored-by: Sergei Larin <slarin at qti.qualcomm.com>
DeltaFile
+914-0llvm/lib/Target/Hexagon/HexagonLiveVariables.cpp
+134-0llvm/lib/Target/Hexagon/HexagonLiveVariables.h
+77-0llvm/test/CodeGen/Hexagon/live-vars/live-outs.ll
+10-0llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
+3-3llvm/test/CodeGen/Hexagon/isel/mulh-scalar.ll
+2-2llvm/test/CodeGen/Hexagon/nbench1.ll
+1,140-54 files not shown
+1,147-810 files

LLVM/project bd40d1dllvm/include/llvm/Analysis ScalarEvolutionPatternMatch.h, llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp

Reapply "[SCEVExp] Use SCEVPtrToAddr in tryToReuseLCSSAPhi if possible. (#180257)"

This reverts commit cb905605b2e95f88296afe136b21a7d2476cb058.

Recommit the patch with a small change to check the destination
type matches the address type, to avoid a crash on mismatch.

Original message:

This patch updates tryToReuseLCSSAPhi to use SCEVPtrToAddr, unless using
SCEVPtrToInt allows re-use, because the IR already contains a re-usable
phi using PtrToInt.

This is a first step towards migrating to SCEVPtrToAddr and avoids
regressions in follow-up changes.

PR: https://github.com/llvm/llvm-project/pull/178727
DeltaFile
+67-2llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
+30-16llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+6-0llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
+3-3llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
+106-214 files

LLVM/project 5f644d9lld/test/wasm import-attribute-mismatch.s, lld/test/wasm/Inputs import-attributes.s

[lld][WebAssembly] Improve import mismatch error reporting (#178715)

Followup to #178550
DeltaFile
+49-8lld/test/wasm/import-attribute-mismatch.s
+0-9lld/test/wasm/Inputs/import-attributes.s
+3-3lld/wasm/SymbolTable.cpp
+52-203 files

LLVM/project 543b949llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly BUILD.gn, llvm/utils/gn/secondary/llvm/unittests/Target/WebAssembly BUILD.gn

[gn] port 9976e5702f05a40 more
DeltaFile
+4-1llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/WebAssembly/BUILD.gn
+5-12 files

LLVM/project 604ccfdclang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeAnnotations.h, clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp FactsGenerator.cpp

handle unique_ptr::release
DeltaFile
+18-8clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+14-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+12-0clang/test/Sema/warn-lifetime-safety.cpp
+5-0clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
+1-0clang/test/Sema/Inputs/lifetime-analysis.h
+50-95 files

LLVM/project 863b071llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

update

Created using spr 1.3.7
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689881 files not shown
+48,234-22,426887 files

LLVM/project 891cc07llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689881 files not shown
+48,234-22,426887 files

LLVM/project 0f2a3aallvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

update

Created using spr 1.3.7
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689881 files not shown
+48,234-22,426887 files

LLVM/project c692bd1llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689881 files not shown
+48,234-22,426887 files

LLVM/project ec8706cllvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

update

Created using spr 1.3.7
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689882 files not shown
+48,277-22,426888 files

LLVM/project 1b542d8llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689882 files not shown
+48,277-22,426888 files

LLVM/project 178bda4llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

update

Created using spr 1.3.7
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689882 files not shown
+48,277-22,426888 files

LLVM/project eb03e2ellvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir, llvm/test/Transforms/LoopVectorize vplan-printing-reductions.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+1,260-1,260llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+902-902llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+927-613llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,380-72llvm/test/CodeGen/AMDGPU/div_v2i128.ll
+14,311-12,689882 files not shown
+48,277-22,426888 files

LLVM/project 21fb35bclang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[NFC] [FlowSensitive] [StatusOr] Add test for move assignment



Reviewers: jvoung

Reviewed By: jvoung

Pull Request: https://github.com/llvm/llvm-project/pull/180080
DeltaFile
+23-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+23-01 files

LLVM/project 233976cclang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[NFC] [FlowSensitive] [StatusOr] Add test for more complicated Status logic



Reviewers: jvoung

Reviewed By: jvoung

Pull Request: https://github.com/llvm/llvm-project/pull/180075
DeltaFile
+20-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+20-01 files

LLVM/project 29d374bclang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[NFC] [FlowSensitive] [StatusOr] Add tests for StatusOr ctors



Reviewers: jvoung

Reviewed By: jvoung

Pull Request: https://github.com/llvm/llvm-project/pull/180076
DeltaFile
+96-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+96-01 files

LLVM/project bf4f5d2llvm/test/CodeGen/X86 cfi-inserter-callee-save-register-2.mir cfi-epilogue-without-return.mir

[X86][test] Auto-generate test checks for some cfi tests. NFC (#177248)

DeltaFile
+76-12llvm/test/CodeGen/X86/cfi-inserter-callee-save-register-2.mir
+56-13llvm/test/CodeGen/X86/cfi-epilogue-without-return.mir
+51-8llvm/test/CodeGen/X86/cfi-epilogue-with-return.mir
+16-28llvm/test/CodeGen/X86/cfi-xmm.ll
+25-3llvm/test/CodeGen/X86/cfi-inserter-callee-save-register.mir
+22-0llvm/test/CodeGen/X86/cfi-xmm-asm.ll
+246-646 files