LLVM/project 3192fe2llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/X86 predicated-instruction-cost.ll

[VPlan] Fall back to legacy cost model if PtrSCEV is nullptr.

There are some cases when PtrSCEV can be nullptr. Fall back to legacy
cost model, to not call isLoopInvariant with nullptr.

Fixes a crash after 0c4f8094939d2.
DeltaFile
+54-0llvm/test/Transforms/LoopVectorize/X86/predicated-instruction-cost.ll
+1-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+55-12 files

LLVM/project dfce3c7libcxx/include/__atomic atomic_ref.h

address review comments: use builtin if possible
DeltaFile
+8-0libcxx/include/__atomic/atomic_ref.h
+8-01 files

LLVM/project 5753661llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AArch64 fold-reduce-add-cmp-zero.ll

Address comments 1
DeltaFile
+72-46llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+66-20llvm/test/Transforms/VectorCombine/AArch64/fold-reduce-add-cmp-zero.ll
+9-27llvm/test/Transforms/VectorCombine/RISCV/fold-reduce-add-cmp-zero.ll
+9-9llvm/test/Transforms/VectorCombine/RISCV/icmp-vector-reduce.ll
+2-2llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
+158-1045 files

LLVM/project b2f8a0fclang/docs ReleaseNotes.rst, clang/include/clang/AST JSONNodeDumper.h

[clang] ast-dump: dump `AvailabilityAttr` fields to JSON (#179281)

This adds `AvailabilityAttr` fields for the JSON dumper
DeltaFile
+158-0clang/test/AST/ast-dump-attr-json.cpp
+21-0clang/lib/AST/JSONNodeDumper.cpp
+16-0clang/test/AST/HLSL/ast-dump-availability-attr.hlsl
+5-0clang/docs/ReleaseNotes.rst
+1-0clang/include/clang/AST/JSONNodeDumper.h
+201-05 files

LLVM/project 0d94148llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 masked_store_trunc_ssat.ll masked_store_trunc_usat.ll

[X86] optimize 512-bit masked truncated saturating stores (#179130)

an oversight in https://github.com/llvm/llvm-project/pull/169827, for
the 512-bit version the `vl` target feature is not needed.


https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm512_mask_cvtsepi16_storeu_epi8&expand=1811&ig_expand=2150,2151
DeltaFile
+22-24llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
+21-18llvm/test/CodeGen/X86/masked_store_trunc_usat.ll
+2-1llvm/lib/Target/X86/X86ISelLowering.cpp
+45-433 files

LLVM/project de93668mlir/include/mlir/Bindings/Python IRAttributes.h, mlir/lib/Bindings/Python IRAttributes.cpp

[mlir][IR] `DenseElementsAttr`: Remove `i1` dense packing special case
DeltaFile
+6-92mlir/lib/Bindings/Python/IRAttributes.cpp
+6-54mlir/lib/IR/BuiltinAttributes.cpp
+1-51mlir/lib/IR/AttributeDetail.h
+0-14mlir/unittests/IR/AttributeTest.cpp
+0-12mlir/include/mlir/Bindings/Python/IRAttributes.h
+0-10mlir/test/IR/attribute-roundtrip.mlir
+13-2332 files not shown
+20-2418 files

LLVM/project a222d85mlir/include/mlir/Bindings/Python IRAttributes.h, mlir/lib/Bindings/Python IRAttributes.cpp

[mlir][IR] `DenseElementsAttr`: Remove `i1` dense packing special case
DeltaFile
+6-92mlir/lib/Bindings/Python/IRAttributes.cpp
+6-54mlir/lib/IR/BuiltinAttributes.cpp
+1-51mlir/lib/IR/AttributeDetail.h
+0-14mlir/unittests/IR/AttributeTest.cpp
+0-12mlir/include/mlir/Bindings/Python/IRAttributes.h
+0-10mlir/test/IR/attribute-roundtrip.mlir
+13-2332 files not shown
+19-2428 files

LLVM/project aff5afcclang-tools-extra/clang-tidy/bugprone StringConstructorCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix bugprone-string-constructor FN with allocators. (#180337)

Fixes https://github.com/llvm/llvm-project/issues/180324.
DeltaFile
+48-3clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
+8-3clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.rst
+61-63 files

LLVM/project 706cc8blibcxx/test/std/atomics/atomics.ref address.pass.cpp assign.pass.cpp

[libc++][NFC] Fix license header in test for `atomic_ref` (#180395)

DeltaFile
+1-0libcxx/test/std/atomics/atomics.ref/address.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
+6-018 files not shown
+24-024 files

LLVM/project 907f66dmlir/lib/IR BuiltinAttributes.cpp AttributeDetail.h, mlir/test/IR attribute-roundtrip.mlir parse-literal.mlir

[mlir][IR] `DenseElementsAttr`: Remove `i1` dense packing special case
DeltaFile
+6-54mlir/lib/IR/BuiltinAttributes.cpp
+1-51mlir/lib/IR/AttributeDetail.h
+0-14mlir/unittests/IR/AttributeTest.cpp
+0-10mlir/test/IR/attribute-roundtrip.mlir
+4-4mlir/test/IR/parse-literal.mlir
+11-1335 files

LLVM/project a5aa4fflibcxx/test/std/atomics/atomics.ref wait.pass.cpp store.pass.cpp

fix license header
DeltaFile
+1-0libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/store.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
+1-0libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
+1-0libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
+6-018 files not shown
+24-024 files

LLVM/project 9139421llvm/test/Transforms/PreISelIntrinsicLowering cond-loop.ll

feedback

Created using spr 1.3.7
DeltaFile
+1-5llvm/test/Transforms/PreISelIntrinsicLowering/cond-loop.ll
+1-51 files

LLVM/project 4ec1feaclang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp

Reapply "[Clang] Mark this pointer in destructors dead_on_return (#166276)"

This reverts commit 047db150c66e245e9df7db178b893ce6b29820f5.

The original version of the commit caused assertion failures in DSE.
Those were fixed in ec059d81aafedb253a02d6f490ad9b9747611038, so trying
to reland this again.
DeltaFile
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+514-514clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
+510-510clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
+652-316clang/test/OpenMP/for_reduction_codegen.cpp
+455-455clang/test/OpenMP/single_codegen.cpp
+7,729-5,97693 files not shown
+15,658-13,77499 files

LLVM/project 5d8731ellvm/include/llvm/IR ProfDataUtils.h, llvm/lib/CodeGen PreISelIntrinsicLowering.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+17-5llvm/test/Transforms/PreISelIntrinsicLowering/cond-loop.ll
+12-0llvm/lib/IR/ProfDataUtils.cpp
+6-1llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
+5-0llvm/include/llvm/IR/ProfDataUtils.h
+0-1llvm/utils/profcheck-xfail.txt
+40-75 files

LLVM/project 991e3bdllvm/include/llvm/IR ProfDataUtils.h, llvm/lib/IR ProfDataUtils.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+12-0llvm/lib/IR/ProfDataUtils.cpp
+5-0llvm/include/llvm/IR/ProfDataUtils.h
+17-02 files

LLVM/project 1928c91llvm/include/llvm/IR ProfDataUtils.h, llvm/lib/IR ProfDataUtils.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+12-0llvm/lib/IR/ProfDataUtils.cpp
+5-0llvm/include/llvm/IR/ProfDataUtils.h
+17-02 files

LLVM/project 1e5493bbolt/lib/Passes IdenticalCodeFolding.cpp, bolt/test icf-hot-text-mover.c

[BOLT] Don't fold hot text mover functions in ICF (#180367)

Hot text mover functions are placed in special sections (e.g.,
.never_hugify) to avoid being placed on hot/huge pages. Folding them
with functions from other sections could defeat this purpose.

Add a check in ICF's isIdenticalWith() to prevent folding when either
function is a hot text mover.
DeltaFile
+24-0bolt/test/icf-hot-text-mover.c
+7-0bolt/lib/Passes/IdenticalCodeFolding.cpp
+31-02 files

LLVM/project 74aa875llvm/include/llvm/MC MCSymbol.h MCSection.h

MC: Remove unused overload and delete stale comment. NFC
DeltaFile
+0-1llvm/include/llvm/MC/MCSymbol.h
+0-1llvm/include/llvm/MC/MCSection.h
+0-22 files

LLVM/project ef972b9llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU branch-relaxation-inst-size-gfx1250.mir

[AMDGPU] Fix instruction size for 64-bit literal constant operands

PR #156602 changed the condition for using 64-bit literal encoding, but it
didn't update the instruction size calculation. This caused a size mismatch
between the `MachineInstr` and the `MCInst`.
DeltaFile
+10-2llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx1250.mir
+8-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+18-32 files

LLVM/project ac6df5allvm/test/CodeGen/AMDGPU branch-relaxation-inst-size-gfx1250.mir

[NFC][AMDGPU] Add a test to show the impact of wrong `s_mov_b64` instruction size
DeltaFile
+66-0llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx1250.mir
+66-01 files

LLVM/project 10a0f40llvm/test/Transforms/SLPVectorizer/X86 shl-to-add-transformation5.ll

[SLP][NFC]Add another shl-to-add modeling case
DeltaFile
+49-0llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
+49-01 files

LLVM/project 3aac5e0llvm/lib/Target/PowerPC/MCTargetDesc PPCXCOFFStreamer.cpp PPCELFStreamer.cpp

[PowerPC] Use MCAssembler::getEmitter instead of getEmitterPtr. NFC

PPCELFStreamer and PPCXCOFFStreamer are MCObjectStreamer subclasses
where the emitter is guaranteed non-null. Use getEmitter() instead of
getEmitterPtr(). getEmitterPtr is reserved for MCAsmStreamer users.
DeltaFile
+2-3llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
+2-3llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
+4-62 files

LLVM/project 62e93fellvm/include/llvm/MC MCDwarf.h MCStreamer.h, llvm/lib/MC MCObjectStreamer.cpp MCStreamer.cpp

MC: Move generateCompactUnwindEncodings to MCObjectStreamer. NFC (#180381)

... removing the need to pass MCAsmBackend as a parameter.

This allows MCStreamer.cpp to not include MCAsmBackend.h.
DeltaFile
+9-4llvm/lib/MC/MCObjectStreamer.cpp
+3-5llvm/include/llvm/MC/MCDwarf.h
+0-7llvm/lib/MC/MCStreamer.cpp
+2-3llvm/include/llvm/MC/MCStreamer.h
+2-3llvm/lib/MC/MCDwarf.cpp
+1-0llvm/include/llvm/MC/MCObjectStreamer.h
+17-226 files

LLVM/project 743538cclang-tools-extra/clang-tidy/readability SuspiciousCallArgumentCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix crash in readability-suspicious-call-argument on invalid option (#180351)

Closes #180346
DeltaFile
+7-0clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
+5-1clang-tools-extra/docs/ReleaseNotes.rst
+5-1clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+1-1clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
+18-34 files

LLVM/project 5dbeb29clang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_location.py test_source_range.py

[libclang/python] Type-annotate SourceLocation and SourceRange (#180193)

This adds type annotations to the `SourceLocation` and `SourceRange`
classes, enough to pass a strict typecheck. This resolves 29 strict
typing errors as the next step towards
https://github.com/llvm/llvm-project/issues/76664
DeltaFile
+30-28clang/bindings/python/clang/cindex.py
+4-0clang/docs/ReleaseNotes.rst
+1-1clang/bindings/python/tests/cindex/test_location.py
+1-1clang/bindings/python/tests/cindex/test_source_range.py
+36-304 files

LLVM/project ac57c4apolly/lib/CodeGen IslNodeBuilder.cpp, polly/lib/External/isl isl_ast_codegen.c GIT_HEAD_ID

[Polly] Update isl to isl-0.27-78-gfc484e00 (#180377)

Update isl to include
https://repo.or.cz/isl.git/commit/fc484e004200964f8f18249de1f510393ec924a9
which fixes #180000.

The isl update also fixes #34710 which had the same cause but with an
empty access domain (#180000 has an empty statement domain). Thus we
also revert 163cacb46960be4dd0d8562737bbf0ea97cb14ad which now only adds
unnecessary overhead.

A regression test has been added to isl which is why we do not add a
test in Polly.

Fixes: #180000

Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
DeltaFile
+0-86polly/test/CodeGen/empty_domain_in_context.ll
+14-3polly/lib/External/isl/isl_ast_codegen.c
+12-0polly/lib/External/isl/test_inputs/codegen/polly2.st
+0-2polly/lib/CodeGen/IslNodeBuilder.cpp
+2-0polly/lib/External/isl/test_inputs/codegen/polly2.c
+1-1polly/lib/External/isl/GIT_HEAD_ID
+29-926 files

LLVM/project a177ce4clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Checker.cpp

Field and interior paths
DeltaFile
+158-100clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+50-41clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+46-42clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+30-47clang/lib/Analysis/LifetimeSafety/Checker.cpp
+58-9clang/lib/Analysis/LifetimeSafety/Loans.cpp
+16-2clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+358-2415 files not shown
+379-26311 files

LLVM/project 88dff28llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

[AMDGPU][SIInsertWaitcnts][NFC] Make a few WaitcntBracket member functions private (#180018)

The user of the WaitcntBrackets class shouldn't need to know about how
the scoreboard has been implemented internally. So I think it is best to
provide a higher level API that hides things like scoreUB, scoreLB and
score ranges.

This patch makes getScoreUB(), getScoreLB() and getScoreRange() private
and introduces new functions that don't expose the internal
implementation:
- getOutstanding(T)
- hasPendingVMEM(VMEMID, T)
- empty(T)

I also noticed that getSGPRScore() and getVMemScore() are not used
externally so these are now private.
DeltaFile
+24-19llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+24-191 files

LLVM/project bf86aeaclang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Checker.cpp

Field and interior paths
DeltaFile
+158-100clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+46-42clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+45-35clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+30-47clang/lib/Analysis/LifetimeSafety/Checker.cpp
+58-9clang/lib/Analysis/LifetimeSafety/Loans.cpp
+16-2clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+353-2354 files not shown
+371-25010 files

LLVM/project f73a0b9clang/include/clang/Driver Driver.h, clang/lib/Driver Driver.cpp

[clang] Remove unused parameter from Driver::DiagnoseInputExistence (NFC) (#177876)

DeltaFile
+5-5clang/lib/Driver/Driver.cpp
+1-2clang/include/clang/Driver/Driver.h
+6-72 files