LLVM/project 2805c8allvm/test/Transforms/LoopVectorize phi-with-fastflags.ll

[VPlan] Add missing REQUIRES: asserts to VPlan output test

Should fix https://lab.llvm.org/buildbot/#/builders/11/builds/33293
DeltaFile
+1-0llvm/test/Transforms/LoopVectorize/phi-with-fastflags.ll
+1-01 files

LLVM/project eb9212fllvm/include/llvm/ADT GenericUniformityImpl.h GenericUniformityInfo.h, llvm/lib/Analysis UniformityAnalysis.cpp

track uniform values at SSA level
DeltaFile
+23-2llvm/include/llvm/ADT/GenericUniformityImpl.h
+17-0llvm/lib/Analysis/UniformityAnalysis.cpp
+12-0llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
+1-0llvm/include/llvm/ADT/GenericUniformityInfo.h
+53-24 files

LLVM/project 4344268clang/include/clang/AST Expr.h, clang/lib/AST ExprConstant.cpp

[clang] Return std::optional from all Expr::tryEvaluate* API (#179230)

tryEvaluateString was returning an std::optional, but the other try* API
was not. Update tryEvaluateObjectSize and tryEvaluateStrLen to return an
std::optional<uint64_t>.
DeltaFile
+39-48clang/lib/AST/ExprConstant.cpp
+13-11clang/lib/Sema/SemaChecking.cpp
+11-8clang/lib/AST/ByteCode/Context.cpp
+5-4clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+4-4clang/lib/CodeGen/CGBuiltin.cpp
+3-3clang/include/clang/AST/Expr.h
+75-781 files not shown
+78-817 files

LLVM/project f01144dlibcxx/include/__atomic atomic.h, libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req atomic_fetch_max_explicit.pass.cpp atomic_fetch_min_explicit.pass.cpp

codestyle
DeltaFile
+16-8libcxx/include/__atomic/atomic.h
+5-10libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+5-10libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+4-9libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
+4-9libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+34-465 files

LLVM/project f6acc80clang/lib/Driver/ToolChains Darwin.cpp, clang/test/Driver darwin-ld-lto.c

[Driver][Darwin] Pass stack usage file for LTO (#178005)

Add a .su extension to the main output's filename and pass this down to
the LLVM layer.

rdar://143089305
DeltaFile
+9-0clang/lib/Driver/ToolChains/Darwin.cpp
+5-0clang/test/Driver/darwin-ld-lto.c
+14-02 files

LLVM/project ef68a53utils/bazel MODULE.bazel.lock, utils/bazel/llvm-project-overlay/mlir stubgen_runner.py BUILD.bazel

[MLIR] [Python] Added plumbing to run stubgen on the mlir._mlir package (#179211)

This allows generating stubs during Bazel builds, which was previously
only supported under CMake.

I decided not to use nanobind_stubgen from nanobind-bazel, because the
py_binary it generates is not easily usable in a genrule.
DeltaFile
+54-0utils/bazel/llvm-project-overlay/mlir/stubgen_runner.py
+25-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+21-0utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
+3-2utils/bazel/MODULE.bazel.lock
+2-0utils/bazel/third_party_build/nanobind.BUILD
+105-25 files

LLVM/project 695095flldb/tools/lldb-dap/Handler AttachRequestHandler.cpp

[lldb-dap][NFC] Add new line to attach message (#180510)

DeltaFile
+1-1lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+1-11 files

LLVM/project 6dbdfd8llvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Analysis/ValueTracking assume-queries-counter.ll

[InstCombine] Drop nonnull assumes if the pointer is already known to be nonnull (#180434)

DeltaFile
+37-0llvm/test/Transforms/InstCombine/assume.ll
+6-5llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
+10-0llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+0-1llvm/test/Transforms/PhaseOrdering/d83507-knowledge-retention-bug.ll
+53-64 files

LLVM/project 4bb16b1llvm/test/Transforms/VectorCombine/X86 shuffle-of-shuffles.ll

[VectorCombine][X86] Add test coverage for #161980 (#180508)

DeltaFile
+46-3llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
+46-31 files

LLVM/project bf13405llvm/include/llvm/Support TargetOpcodes.def

[CodeGen] Improve documentation for SUBREG_TO_REG (#180504)

The most important change is to remove the claim that the extra bits are
necessarily set to zero.
DeltaFile
+6-6llvm/include/llvm/Support/TargetOpcodes.def
+6-61 files

LLVM/project fed9abcclang/docs ReleaseNotes.rst, clang/lib/Sema SemaChecking.cpp

[Clang] Fix missing -Warray-bounds warning on member function calls. (#179647)

Fixes #179128.
This patch fixes a false negative where Clang failed to detect
out-of-bounds access when calling a member function on an invalid array
index. It adds handling for CXXMemberCallExpr in CheckArrayAccess.

Signed-off-by: prajwal jalwadi<prajwaljalwadi at gmail.com>
DeltaFile
+3-2clang/test/SemaCXX/constant-expression-cxx2a.cpp
+4-0clang/lib/Sema/SemaChecking.cpp
+4-0clang/docs/ReleaseNotes.rst
+11-23 files

LLVM/project 0cd8fd9lld/COFF Driver.cpp, lld/wasm OutputSections.cpp Writer.cpp

[lld] Add explicit std::move(...) to avoid a few vector copies (#180474)

In corner cases, it is profitable to move an llvm::SmallString instead
of copying it.

It is almost always profitable to move an std::vector

Changes suggested by performance-use-std-move from
https://github.com/llvm/llvm-project/pull/179467
DeltaFile
+1-1lld/COFF/Driver.cpp
+1-1lld/wasm/OutputSections.cpp
+1-1lld/wasm/Writer.cpp
+3-33 files

LLVM/project 8cd86ffllvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h VPlan.h, llvm/test/Transforms/LoopVectorize phi-with-fastflags-vplan.ll phi-with-fastflags.ll

[VPlan] Propagate FastMathFlags from phis to blends (#180226)

If a phi has fast math flags, we can propagate it to the widened select.
To do this, this patch makes VPPhi and VPBlendRecipe subclasses of
VPRecipeWithIRFlags, and propagates it through PlainCFGBuilder and
VPPredicator.

Alive2 proofs for some of the FMFs (it looks like it can't reason about
the full "fast" set yet)
nnan: https://alive2.llvm.org/ce/z/f0bRd4
nsz: https://alive2.llvm.org/ce/z/u9P96T

The actual motivation for this to eventually be able to move the special
casing for tail folding in
LoopVectorizationPlanner::addReductionResultComputation into the CFG in
#176143, which requires passing through FMFs.
DeltaFile
+74-0llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
+46-0llvm/test/Transforms/LoopVectorize/phi-with-fastflags.ll
+10-11llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+12-8llvm/lib/Transforms/Vectorize/VPlan.h
+10-5llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+4-5llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+156-295 files not shown
+164-3611 files

LLVM/project 72ff1cbflang/test/Lower explicit-interface-results.f90 explicit-interface-results-2.f90

[flang][NFC] Converted five tests from old lowering to new lowering (part 15) (#179854)

Tests converted from test/Lower: equivalence-with-host-assoc.f90,
explicit-interface-results-2.f90, explicit-interface-results.f90,
ext-proc-as-actual-argument-1.f90, ext-proc-as-actual-argument-2.f90
DeltaFile
+154-166flang/test/Lower/explicit-interface-results.f90
+103-98flang/test/Lower/explicit-interface-results-2.f90
+1-72flang/test/Lower/equivalence-with-host-assoc.f90
+22-12flang/test/Lower/ext-proc-as-actual-argument-1.f90
+20-12flang/test/Lower/ext-proc-as-actual-argument-2.f90
+300-3605 files

LLVM/project 5fb8390llvm/include/llvm/ADT GenericUniformityImpl.h GenericUniformityInfo.h, llvm/lib/Analysis UniformityAnalysis.cpp

track uniform values at SSA level
DeltaFile
+22-2llvm/include/llvm/ADT/GenericUniformityImpl.h
+17-0llvm/lib/Analysis/UniformityAnalysis.cpp
+12-0llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
+1-0llvm/include/llvm/ADT/GenericUniformityInfo.h
+52-24 files

LLVM/project a40275cclang/lib/Analysis CloneDetection.cpp, clang/lib/Parse ParseDeclCXX.cpp

[clang] Add explicit std::move(...) to avoid a few copies (#180482)

Moving an std::vector is almost always profitable.

A clang::CXXScopeSpec contains an owned
clang::NestedNameSpecifierLocBuilder which currently does not benefit
from being moved, but may structurally in the future.

A clang::MultiLevelTemplateArgumentList contains an llvm::SmalVector
which may benefit from being moved dependiong on its size.

A clang::Environment contains an llvm::ImmutableMap which itself
contains an llvm::IntrusiveRefCntPtr that benefits from being moved.

Changes suggested by performance-use-std-move from #179467

---------

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
DeltaFile
+3-3clang/lib/Analysis/CloneDetection.cpp
+2-1clang/lib/Sema/SemaTemplateInstantiate.cpp
+1-1clang/lib/Parse/ParseDeclCXX.cpp
+1-1clang/lib/StaticAnalyzer/Core/ProgramState.cpp
+1-1clang/lib/Tooling/DependencyScanningTool.cpp
+8-75 files

LLVM/project dbf2caaclang/lib/Driver/ToolChains Gnu.cpp Darwin.cpp

[clang] Add explicit std::move(...) to avoid a few copies (#180477)

Moving a clang::MultilibSet is almost always profitable.

Changes suggested by performance-use-std-move from #179467
DeltaFile
+5-5clang/lib/Driver/ToolChains/Gnu.cpp
+1-1clang/lib/Driver/ToolChains/Darwin.cpp
+1-1clang/lib/Driver/ToolChains/OHOS.cpp
+7-73 files

LLVM/project f88e018clang-tools-extra/clangd ClangdLSPServer.cpp

[clangd] Add explicit std::move(...) to avoid a few copies (#180475)

Moving an std::map is almost always profitable (DiagnosticToDiagRefMap).

Changes suggested by performance-use-std-move from #179467
DeltaFile
+1-1clang-tools-extra/clangd/ClangdLSPServer.cpp
+1-11 files

LLVM/project de457a6offload/test/offloading ompx_bare.c ompx_bare_multi_dim.cpp

fix formatting
DeltaFile
+3-1offload/test/offloading/ompx_bare.c
+3-1offload/test/offloading/ompx_bare_multi_dim.cpp
+6-22 files

LLVM/project f71e321clang/lib/AST/ByteCode InterpState.cpp InterpState.h, clang/test/AST/ByteCode constexpr-steps.cpp

[clang][bytecode] Implement constexpr step limit (#176150)

This only calls `noteStep()` on jump opcodes, so this works for loops.
It does not prevent "hangs" when a function is just _very_ long (could
be interesting how this interfaces with expand statements?).

Fixes https://github.com/llvm/llvm-project/issues/165951
DeltaFile
+17-2clang/lib/AST/ByteCode/InterpState.cpp
+10-0clang/test/AST/ByteCode/constexpr-steps.cpp
+10-0clang/lib/AST/ByteCode/InterpState.h
+3-3clang/lib/AST/ByteCode/Interp.cpp
+40-54 files

LLVM/project b169123llvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/test/CodeGen/AMDGPU intrinsic-amdgcn-s-alloc-vgpr.ll

Address review comments
DeltaFile
+5-3llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+3-3llvm/test/CodeGen/AMDGPU/intrinsic-amdgcn-s-alloc-vgpr.ll
+8-62 files

LLVM/project 2b8cd80llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp

Update after upstream changes
DeltaFile
+2-2llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+2-21 files

LLVM/project 371c70eoffload/test/offloading/fortran target-no-loop.f90 target-parallel-do-collapse.f90

[offload] Adapt tests to new PluginInterface quoting [NFC]

https://github.com/llvm/llvm-project/commit/4096cb60175a3bfdde25dd0cca167416f4f4338e
removed the quotes around PluginInterface
DeltaFile
+6-6offload/test/offloading/fortran/target-no-loop.f90
+1-1offload/test/offloading/fortran/target-parallel-do-collapse.f90
+1-1offload/test/offloading/fortran/do-concurrent-to-omp-saxpy-2d.f90
+1-1offload/test/offloading/fortran/basic-target-teams-parallel-reduction.f90
+1-1offload/test/offloading/fortran/default-mapper-nested-derived-type.f90
+1-1offload/test/offloading/fortran/do-concurrent-to-omp-saxpy.f90
+11-117 files not shown
+18-1813 files

LLVM/project 1d61ac2clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[clang][amdgpu] mapCABIAtomicOrdering - fix MSVC not all control paths return a value warning. NFC. (#180500)

DeltaFile
+1-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+1-01 files

LLVM/project bf84e84clang/lib/CodeGen/Targets AMDGPU.cpp

[clang][amdgpu] getLLVMSyncScopeStr - fix MSVC not all control paths return a value warning. NFC. (#180501)

DeltaFile
+1-0clang/lib/CodeGen/Targets/AMDGPU.cpp
+1-01 files

LLVM/project 2eb8112llvm/lib/CAS OnDiskGraphDB.cpp

[CAS] getInternalFileBackedObjectData - fix MSVC not all control paths return a value warning. NFC. (#180499)

DeltaFile
+1-0llvm/lib/CAS/OnDiskGraphDB.cpp
+1-01 files

LLVM/project 5b2bfceflang/lib/Optimizer/Analysis CMakeLists.txt

[flang][NFC] Remove dependency on FIRBuilder from FIRAnalysis. (#180300)

The dependency actually appears to be unused.

Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
DeltaFile
+0-1flang/lib/Optimizer/Analysis/CMakeLists.txt
+0-11 files

LLVM/project 13cdecdflang/lib/Optimizer/HLFIR/Transforms ScheduleOrderedAssignments.cpp, flang/test/HLFIR/order_assignments where-array-sections.f90

handle the EitherIdenticalOrDisjoint as assuming identical
DeltaFile
+48-10flang/test/HLFIR/order_assignments/where-array-sections.f90
+16-11flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
+64-212 files

LLVM/project 49026a7clang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

Improve liveness to detect more invaldiations
DeltaFile
+16-13clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+16-3clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+11-5clang/test/Sema/Inputs/lifetime-analysis.h
+4-4clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+47-254 files

LLVM/project 9803e3ellvm/docs AMDGPUUsage.rst

AMDGPUUsage: add async versions of existing entries in the table
DeltaFile
+6-0llvm/docs/AMDGPUUsage.rst
+6-01 files