LLVM/project 0dec824flang/lib/Optimizer/Transforms MIFOpConversion.cpp

Fix typo in comment for multi-image environment
DeltaFile
+1-1flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
+1-11 files

LLVM/project 5c5b8eaflang/lib/Semantics openmp-utils.cpp

format
DeltaFile
+2-1flang/lib/Semantics/openmp-utils.cpp
+2-11 files

LLVM/project bc23293flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp resolve-directives.cpp

[flang][OpenMP] Identify DO loops affected by loop-associated construct

This is to identify iteration variables of DO loops affected by an OpenMP
loop construct. These variables are privatized as per data-sharing rules.
DeltaFile
+91-0flang/lib/Semantics/openmp-utils.cpp
+33-36flang/lib/Semantics/resolve-directives.cpp
+27-0flang/test/Semantics/OpenMP/affected-loops.f90
+7-0flang/include/flang/Semantics/openmp-utils.h
+158-364 files

LLVM/project b444d1dllvm/lib/Target/AMDGPU GCNSchedStrategy.cpp GCNSchedStrategy.h, llvm/test/CodeGen/AMDGPU sched_mfma_rewrite_copies.mir misched-remat-revert.ll

Revert "[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)"

This reverts commit be62f270fd01e8c526f1e37df74ff1061e360dab, it breaks
the compilation!!!

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191717
DeltaFile
+551-551llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
+577-0llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
+294-108llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+73-49llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+36-36llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
+19-19llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
+1,550-7632 files not shown
+1,573-7868 files

LLVM/project 778c0fbllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 phi-operand-gathered-loads.ll

[SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/191620
DeltaFile
+16-6llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
+5-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+21-122 files

LLVM/project b844cc8libcxx/docs/Status Cxx23Issues.csv, libcxx/include/__ranges iota_view.h

[libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer-class types (#155169)

Fixes #104948

# References

- https://wg21.link/range.iota.view
- https://wg21.link/range.iota.view#17
- https://wg21.link/LWG3610

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+16-0libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
+1-1libcxx/include/__ranges/iota_view.h
+1-1libcxx/docs/Status/Cxx23Issues.csv
+18-23 files

LLVM/project 48ad929libcxx/test/std/numerics/numeric.ops/numeric.ops.sat saturating_cast.pass.cpp saturate_cast.pass.cpp

[libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574)

Implements P4052R0.

Also renames:
- the internal names for consistency.
- test files (no changes to the contents but the function names).

Fixes: #189589

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+394-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
+0-394libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
+177-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
+0-177libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
+0-171libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
+171-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
+742-74227 files not shown
+1,572-1,57133 files

LLVM/project be62f27llvm/lib/Target/AMDGPU GCNSchedStrategy.cpp GCNSchedStrategy.h, llvm/test/CodeGen/AMDGPU sched_mfma_rewrite_copies.mir misched-remat-revert.ll

[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)

This makes the scheduler's rematerialization stage use the
target-independent rematerializer. Previously duplicate logic is
deleted, and restrictions are put in place in the stage so that the same
constraints as before apply on rematerializable registers (as the
rematerializer is able to expose many more rematerialization
opportunities than what the stage can track at the moment). Consequently
it is not expected that this change improves performance overall, but it
is a first step toward being able to use the rematerializer's more
advanced capabilities during scheduling.

This is *not* a NFC for 2 reasons.

- Score equalities between two rematerialization candidates with
otherwise equivalent score are decided by their corresponding register's
index handle in the rematerializer (previously the pointer to their
state object's value). This is determined by the rematerializer's
register collection order, which is different from the stage's old

    [12 lines not shown]
DeltaFile
+551-551llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
+0-577llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
+108-294llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+49-73llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+36-36llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
+19-19llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
+763-1,5502 files not shown
+786-1,5738 files

LLVM/project 1244555flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp

[flang][OpenMP] Implement GetGeneratedNestDepthWithReason

For a loop-nest-generating construct this function returns the number of
loops in the generated loop nest.

A loop-nest-transformation construct can be thought as replacing N nested
loops with K nested loops, where
  N = GetAffectedNestDepthWithReason
  K = GetGeneratedNestDepthWithReason
DeltaFile
+67-24flang/lib/Semantics/openmp-utils.cpp
+5-0flang/include/flang/Semantics/openmp-utils.h
+72-242 files

LLVM/project b31d8bcllvm/include/llvm/ExecutionEngine/JITLink JITLink.h

[JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)

SymbolStringPtr comparisons should be more efficient that string
comparisons. Fixes a FIXME.
DeltaFile
+16-11llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
+16-111 files

LLVM/project 9270a34llvm/test/tools/llvm-readobj/ELF packed-relocs-errors.s dynamic-tags.test, llvm/tools/llvm-readobj ELFDumper.cpp ObjDumper.cpp

[llvm-readobj][ELF] Use WrappedError to filter duplicates

Switch from StringError to WrappedError. Errors of the form "Prefix:
Error" can now be filtered out based on the underlying error while
preserving distinct prefixes, resulting in clearer llvm-readobj output.
DeltaFile
+204-192llvm/tools/llvm-readobj/ELFDumper.cpp
+16-13llvm/test/tools/llvm-readobj/ELF/packed-relocs-errors.s
+20-8llvm/tools/llvm-readobj/ObjDumper.cpp
+0-11llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
+4-7llvm/test/tools/llvm-readobj/ELF/program-headers.test
+0-7llvm/test/tools/llvm-readobj/ELF/stack-sizes.test
+244-23811 files not shown
+249-25817 files

LLVM/project 0b016dcllvm/include/llvm/Object ELF.h, llvm/lib/Object ELF.cpp

[Object][ELF] Pass Error to WarningHandler

Warning consumers may need to handle errors based on their type. Pass
the Error object instead of a string representation to enable this. This
also brings WarningHandler in line with Support/WithColor.h.
DeltaFile
+22-23llvm/include/llvm/Object/ELF.h
+5-4llvm/tools/llvm-objdump/llvm-objdump.cpp
+4-3llvm/tools/llvm-readobj/ObjDumper.cpp
+2-2llvm/unittests/Object/ELFObjectFileTest.cpp
+2-2llvm/lib/Object/ELF.cpp
+2-2llvm/tools/llvm-readobj/ELFDumper.cpp
+37-362 files not shown
+39-388 files

LLVM/project 34c8339flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp

[flang][OpenMP] Update comments, NFC (#191709)

Some comments in openmp-utils.cpp became outdated after the code had
changed.
DeltaFile
+5-5flang/include/flang/Semantics/openmp-utils.h
+4-4flang/lib/Semantics/openmp-utils.cpp
+9-92 files

LLVM/project 4af3960llvm/lib/Transforms/InstCombine InstCombineCompares.cpp, llvm/test/Transforms/InstCombine fp-floor-ceil.ll

[InstCombine] Improve suboptimal simplification for more than one use in #190620 (#191702)

Address to
https://github.com/llvm/llvm-project/pull/190620#issuecomment-4229926121
DeltaFile
+26-0llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+27-12 files

LLVM/project 6911fafllvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine fneg.ll

[InstCombine] Fix FMF propagation in `foldFNegIntoConstant` (#191653)

Counterexamples for ninf and nsz: https://alive2.llvm.org/ce/z/7-Je_K
Closes https://github.com/llvm/llvm-project/issues/189729.
DeltaFile
+48-4llvm/test/Transforms/InstCombine/fneg.ll
+7-0llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+55-42 files

LLVM/project 2137d5fllvm/include/llvm/CodeGen TargetInstrInfo.h, llvm/lib/CodeGen InlineSpiller.cpp

[X86][APX] Return CopyMI when added in foldMemoryOperandImpl (#191368)

Fixes: #190962 #191165 #191239
DeltaFile
+385-0llvm/test/CodeGen/X86/apx/pr191368.ll
+43-16llvm/lib/Target/X86/X86InstrInfo.cpp
+38-0llvm/test/CodeGen/X86/apx/or.ll
+19-4llvm/lib/CodeGen/InlineSpiller.cpp
+9-8llvm/lib/Target/X86/X86InstrInfo.h
+9-6llvm/include/llvm/CodeGen/TargetInstrInfo.h
+503-3412 files not shown
+554-6718 files

LLVM/project abc1ec1flang/lib/Semantics resolve-directives.cpp

[flang] clang-format flang/lib/Semantics/resolve-directives.cpp (#191660)

The changes are only on 5 lines, but now the entire file is invariant
under clang-format.
DeltaFile
+5-5flang/lib/Semantics/resolve-directives.cpp
+5-51 files

LLVM/project 49e88acllvm/test/tools/llvm-readobj/ELF packed-relocs-errors.s dynamic-tags.test, llvm/tools/llvm-readobj ELFDumper.cpp ObjDumper.cpp

[llvm-readobj][ELF] Use WrappedError to filter duplicates

Switch from StringError to WrappedError. Errors of the form "Prefix:
Error" can now be filtered out based on the underlying error while
preserving distinct prefixes, resulting in clearer llvm-readobj output.
DeltaFile
+206-194llvm/tools/llvm-readobj/ELFDumper.cpp
+16-13llvm/test/tools/llvm-readobj/ELF/packed-relocs-errors.s
+20-8llvm/tools/llvm-readobj/ObjDumper.cpp
+0-11llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
+4-7llvm/test/tools/llvm-readobj/ELF/program-headers.test
+0-7llvm/test/tools/llvm-readobj/ELF/stack-sizes.test
+246-24011 files not shown
+251-26017 files

LLVM/project 76def06llvm/include/llvm/Object ELF.h, llvm/lib/Object ELF.cpp

[Object][ELF] Pass Error to WarningHandler

Warning consumers may need to handle errors based on their type. Pass
the Error object instead of a string representation to enable this. This
also brings WarningHandler in line with Support/WithColor.h.
DeltaFile
+22-23llvm/include/llvm/Object/ELF.h
+5-4llvm/tools/llvm-objdump/llvm-objdump.cpp
+3-2llvm/tools/llvm-readobj/ObjDumper.cpp
+2-2llvm/lib/Object/ELF.cpp
+2-2llvm/unittests/Object/ELFObjectFileTest.cpp
+1-1llvm/tools/llvm-readobj/ObjDumper.h
+35-341 files not shown
+36-357 files

LLVM/project b862142llvm/lib/Target/X86 X86InstrAVX512.td, llvm/test/CodeGen/AMDGPU freeze.ll load-global-i16.ll

Merge branch 'main' into users/kparzysz/resolve-format
DeltaFile
+2,253-17llvm/test/CodeGen/AMDGPU/freeze.ll
+140-150llvm/test/CodeGen/AMDGPU/load-global-i16.ll
+88-146llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
+92-105llvm/lib/Target/X86/X86InstrAVX512.td
+94-94llvm/test/CodeGen/AMDGPU/load-local-i16.ll
+83-83llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+2,750-59573 files not shown
+4,018-1,22579 files

LLVM/project 29c603cllvm/include/llvm/Object Error.h, llvm/include/llvm/Support Error.h

[Support] Add WrappedError class

The error consumer filters duplicate errors based on a portion of the
error message. Introduce a new Error kind that carries a prefix string
to support this use case.
DeltaFile
+18-0llvm/include/llvm/Support/Error.h
+8-0llvm/lib/Support/Error.cpp
+4-0llvm/include/llvm/Object/Error.h
+30-03 files

LLVM/project de56830clang/lib/AST/ByteCode Interp.cpp, clang/test/AST/ByteCode cxx17.cpp

[clang][bytecode] Handle zero pointers in `isConstexprUnknown()` (#191691)
DeltaFile
+26-0clang/test/AST/ByteCode/cxx17.cpp
+1-1clang/lib/AST/ByteCode/Interp.cpp
+27-12 files

LLVM/project 2dc6dd7clang/lib/Analysis/LifetimeSafety Checker.cpp

refactor
DeltaFile
+5-5clang/lib/Analysis/LifetimeSafety/Checker.cpp
+5-51 files

LLVM/project 17d5054clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/lib/Analysis/LifetimeSafety Checker.cpp

Refactor EscapingTarget
DeltaFile
+5-10clang/lib/Analysis/LifetimeSafety/Checker.cpp
+6-3clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+3-3clang/lib/Sema/SemaLifetimeSafety.h
+14-163 files

LLVM/project f2e9ba0clang/test/Sema warn-lifetime-safety-suggestions.cpp

more tests
DeltaFile
+52-32clang/test/Sema/warn-lifetime-safety-suggestions.cpp
+52-321 files

LLVM/project c73e396clang/lib/Analysis/LifetimeSafety Checker.cpp

doc update
DeltaFile
+2-1clang/lib/Analysis/LifetimeSafety/Checker.cpp
+2-11 files

LLVM/project 36cc5afclang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/lib/Analysis/LifetimeSafety Checker.cpp

Annotation inference on constructor
DeltaFile
+40-1clang/test/Sema/warn-lifetime-safety-suggestions.cpp
+19-21clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
+28-11clang/lib/Analysis/LifetimeSafety/Checker.cpp
+12-6clang/lib/Sema/SemaLifetimeSafety.h
+6-6clang/test/Sema/warn-lifetime-safety.cpp
+5-4clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+110-491 files not shown
+114-497 files

LLVM/project c5611d6clang/lib/Analysis/LifetimeSafety Checker.cpp

doc update
DeltaFile
+2-1clang/lib/Analysis/LifetimeSafety/Checker.cpp
+2-11 files

LLVM/project fc8b54fllvm/lib/Target/AMDGPU GCNSchedStrategy.cpp

Fix comment typo

Co-authored-by: Shilei Tian <i at tianshilei.me>
DeltaFile
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+1-11 files

LLVM/project bf3ce82clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/lib/Analysis/LifetimeSafety Checker.cpp

Refactor EscapingTarget
DeltaFile
+5-10clang/lib/Analysis/LifetimeSafety/Checker.cpp
+6-3clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+3-3clang/lib/Sema/SemaLifetimeSafety.h
+14-163 files