LLVM/project a33a56ellvm/test/tools/llvm-readobj/ELF many-sections.s

fixup! [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
DeltaFile
+6-6llvm/test/tools/llvm-readobj/ELF/many-sections.s
+6-61 files

LLVM/project b982379llvm/test/tools/llvm-readobj/ELF many-segments.test invalid-e_phnum.test, llvm/test/tools/llvm-readobj/ELF/Inputs many-segments.o.gz

[llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.

FreeBSD coredump uses program headers to store mmap information. It is possible
for program to use more than PN_XNUM mmaps. Therefore, we implement the support
of PN_XNUM in readelf.
DeltaFile
+79-0llvm/test/tools/llvm-readobj/ELF/many-segments.test
+51-23llvm/tools/llvm-readobj/ELFDumper.cpp
+39-0llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+0-0llvm/test/tools/llvm-readobj/ELF/Inputs/many-segments.o.gz
+169-234 files

LLVM/project 70ea615llvm/test/tools/llvm-readobj/ELF many-segments.test file-headers.test, llvm/tools/llvm-readobj ELFDumper.cpp

fixup! [Object,ELF] Implement PN_XNUM extension for program headers (#162288)
DeltaFile
+12-47llvm/test/tools/llvm-readobj/ELF/many-segments.test
+7-4llvm/test/tools/llvm-readobj/ELF/file-headers.test
+6-4llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+1-2llvm/tools/llvm-readobj/ELFDumper.cpp
+1-0llvm/test/tools/llvm-readobj/ELF/many-sections.s
+27-575 files

LLVM/project 6701b66llvm/include/llvm/Object ELF.h

[Object][ELF] Fix section header zero check

The PN_XUM is a necessary condition for reading shdr0
regardless of the value of e_shoff. Without this,
readShdrZero falsely returns the garbage value in ELF
header instead of emitting warning.
DeltaFile
+12-7llvm/include/llvm/Object/ELF.h
+12-71 files

LLVM/project 9180eddllvm/test/tools/llvm-readobj/ELF many-segments.test file-headers.test, llvm/test/tools/llvm-readobj/ELF/Inputs many-segments.o.gz

fixup! [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
DeltaFile
+45-60llvm/test/tools/llvm-readobj/ELF/many-segments.test
+34-33llvm/tools/llvm-readobj/ELFDumper.cpp
+8-8llvm/test/tools/llvm-readobj/ELF/file-headers.test
+7-7llvm/test/tools/llvm-readobj/ELF/many-sections.s
+8-4llvm/test/tools/llvm-readobj/ELF/invalid-e_phnum.test
+0-0llvm/test/tools/llvm-readobj/ELF/Inputs/many-segments.o.gz
+102-1126 files

LLVM/project 0e1cc61offload/test lit.cfg

[Offload][test] Use just-compiled lld and llvm-symbolizer (#181793)

In a bootstrapping build with LLVM_ENABLE_PROJECTS=lld, the lld
executable will be found in LLVM's bin/ directory. But `check-offload`
will currently ignore it because the JIT plugin will look for `lld` in
`$PATH`. Similarly, the sanitizer tests require llvm-symbolizer during
execution to FileCheck the expected stack trace.

Add the llvm tools directory to `$PATH` so tests can use lld and
llvm-symbolizer in it. It should be prefered over a system-installed
lld/llvm-symbolizer.

Fixes the JIT and sanitizer tests of
[openmp-offload-amdgpu-clang-flang](https://lab.llvm.org/staging/#/builders/105).
DeltaFile
+15-0offload/test/lit.cfg
+15-01 files

LLVM/project 900778ellvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/unittests/Target/AArch64 AArch64SelectionDAGTest.cpp

[DAG] isKnownToBeAPowerOfTwo - add DemandedElts + OrZero handling to ISD::SELECT/VSELECT cases (#181753)

Pass DemandedElts and OrZero arguments through SELECT/VSELECT nodes when
checking if values are power-of-two.

Add unit tests for scalar SELECT (OrZero) and vector VSELECT
(DemandedElts + OrZero).

Resolves #181645
DeltaFile
+57-0llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
+2-2llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+59-22 files

LLVM/project 89a1fb0llvm/lib/CodeGen MachineUniformityAnalysis.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel divergence-divergent-i1-used-outside-loop.mir divergence-structurizer.mir

track uniform value for machine uniformity
DeltaFile
+171-132llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
+127-101llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
+85-58llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
+27-17llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
+21-15llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
+12-7llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
+443-3302 files not shown
+453-3348 files

LLVM/project 47a969elldb/tools/lldb-dap Variables.cpp Variables.h, lldb/tools/lldb-dap/Handler VariablesRequestHandler.cpp

[lldb-dap] Refactor variablesReference storage and scope management. (#179262)

This commit refactors the Variables class into a
VariableReferenceStorage with variableReferences of different
ReferenceKinds.

The variablesReference is now a uint32_t.
The most significant byte (bits 24 - 31) holds the reference kind and
the remaining 3 bytes (bits 0 -23) holds the actual reference.

We have (at the moment) 3 reference kinds.
Temporary => 0b0000 => 0x00
Permanent => 0b0001 => 0x01
Scope     => 0b0010 => 0x03

The actual variablesReference can be used to get a `VariableStore`.

VariableStore holds variables in a group.
It has two implementations:

    [20 lines not shown]
DeltaFile
+293-127lldb/tools/lldb-dap/Variables.cpp
+149-61lldb/tools/lldb-dap/Variables.h
+16-144lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
+44-35lldb/unittests/DAP/VariablesTest.cpp
+70-1lldb/tools/lldb-dap/Protocol/DAPTypes.h
+47-0lldb/unittests/DAP/DAPTypesTest.cpp
+619-36818 files not shown
+715-41124 files

LLVM/project 3205901llvm/lib/Target/AMDGPU SIRegisterInfo.cpp

Refactor: Clang-format off

Clang-formatter is splitting the ternary check in a funky manner.
Turning it off for readability.
DeltaFile
+10-9llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+10-91 files

LLVM/project 7d010cbclang Maintainers.md

Move Stanislav Gatev to the inactive maintainers list (#180939)

While reaching out to folks for a maintainers list refresh, Stanislav
asked to step down due to other commitments. Thank you for all your
help!
DeltaFile
+2-4clang/Maintainers.md
+2-41 files

LLVM/project d15cc45llvm/lib/Target/AMDGPU SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU vgpr-spill.mir

Check if register tuple is unaligned
DeltaFile
+96-0llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
+13-6llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+109-62 files

LLVM/project cc76b20lldb/test/API/driver/quit_speed TestQuitWithProcess.py

[lldb][test] TestQuitWithProcess: Increase timeout to fix ARM flakiness (#181660)

TestQuitWithProcess.py is randomly failing on Arm Linux buildbot. The
test validates LLDB's ability to quit cleanly killing active processes
with a timeout value set to 15 seconds which could be insufficient for
any resource limited platforms under heavy load.

This patch increase the timeout to 30 seconds to accommodate any
resource limits.

https://lab.llvm.org/buildbot/#/builders/18/builds/24801
DeltaFile
+2-2lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
+2-21 files

LLVM/project fc2e6f6llvm/lib/Target/AMDGPU AMDGPUGlobalISelDivergenceLowering.cpp

[AMDGPU][GlobalISel] NFC: Filter getCandidatesForLowering to only process G_PHI
DeltaFile
+5-1llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
+5-11 files

LLVM/project 0b5b306lld/test/wasm large-section.test large-debug-section.test, lld/wasm OutputSections.cpp InputChunks.h

Revert "[lld][Webassembly] Avoid a signed overflow on large sections (#178287)"

This reverts commit c703f5a1632973dd6eade473614dfbed1b088d9e.

I have reverted this change as it was failing lld arm 32bit buildbot.
https://lab.llvm.org/staging/#/builders/160/builds/1189
DeltaFile
+0-35lld/test/wasm/large-section.test
+0-29lld/test/wasm/large-debug-section.test
+0-21lld/test/wasm/section-too-large.test
+0-13lld/wasm/OutputSections.cpp
+1-5lld/wasm/InputChunks.h
+1-1035 files

LLVM/project a8fad06lldb/source/Target Target.cpp, lldb/unittests/Expression ExpressionTest.cpp

Merge branch 'main' into revert-178287-wasm-ld-crash-fix
DeltaFile
+5-6lldb/source/Target/Target.cpp
+5-5lldb/unittests/Expression/ExpressionTest.cpp
+5-5llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+15-163 files

LLVM/project e40eda6llvm/include/llvm/Object ELF.h

[Object][ELF] Fix section header zero check

The PN_XUM is a necessary condition for reading shdr0
regardless of the value of e_shoff. Without this,
readShdrZero falsely returns the garbage value in ELF
header instead of emitting warning.
DeltaFile
+12-7llvm/include/llvm/Object/ELF.h
+12-71 files

LLVM/project 3f73c86lldb/source/Target Target.cpp, lldb/unittests/Expression ExpressionTest.cpp

[lldb][Target][NFC] Update error messages according to LLVM-coding style (#181795)

The [LLVM coding style
guide](https://llvm.org/docs/CodingStandards.html#error-and-warning-messages)
says:

> start the first sentence with a lowercase letter, and finish the last
sentence
> without a period

This patch updates the erorr messages added in
https://github.com/llvm/llvm-project/pull/179208 accordingly.

(addresses
https://github.com/llvm/llvm-project/pull/179208#issuecomment-3912273053)
DeltaFile
+5-6lldb/source/Target/Target.cpp
+5-5lldb/unittests/Expression/ExpressionTest.cpp
+10-112 files

LLVM/project 905c389llvm/lib/Target/AArch64/GISel AArch64RegisterBankInfo.cpp

[AArch64][GlobalISel] Comment explaining why f16 -> i16 conversions must stay on i16
DeltaFile
+1-1llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
+1-11 files

LLVM/project 2b4da2ellvm/test/Transforms/LoopVectorize/VPlan predicator.ll

[LV] Update predicator.ll test checks.

VPlan printing output changed on main before patch was merged.
Regenerate check lines.
DeltaFile
+5-5llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+5-51 files

LLVM/project 736e161llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

Fixups
DeltaFile
+6-7llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+6-71 files

LLVM/project 96f2a59llvm/lib/Target/AArch64/GISel AArch64RegisterBankInfo.cpp

[AArch64][GlobalISel] Remove unnecessary brackets
DeltaFile
+2-2llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
+2-21 files

LLVM/project 860a8bdclang/lib/Analysis/LifetimeSafety LifetimeSafety.cpp, clang/test/Sema warn-lifetime-safety-cfg-bailout.cpp

Merge branch 'main' into revert-178287-wasm-ld-crash-fix
DeltaFile
+1,325-1,258llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+389-0llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+62-10llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
+48-0clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
+30-1llvm/test/CodeGen/X86/win_cst_pool.ll
+19-3clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
+1,873-1,27213 files not shown
+1,950-1,29419 files

LLVM/project a83ecd5llvm/test/CodeGen/AArch64 fp16_i16_intrinsic_scalar.ll fp16_intrinsic_scalar_1op.ll

[AArch64][GlobalISel] Move fp16 -> i16 test checks into fp16 test file

fp16 -> i16 checks were previously placed in a separate file due to GlobalISel being unable to select the intrinsics.
Now, place these tests into the master file.
DeltaFile
+0-136llvm/test/CodeGen/AArch64/fp16_i16_intrinsic_scalar.ll
+110-0llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
+110-1362 files

LLVM/project 61ae5caclang/unittests/Analysis/Scalable/Serialization JSONFormatTest.cpp, lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift grammar.js

Merge branch 'main' into users/jmmartinez/llvm-reduce/simplify-br
DeltaFile
+1,560-1,560llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
+1,325-1,258llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+991-1,493llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
+1,847-0clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
+1,594-0lldb/source/Plugins/Highlighter/TreeSitter/Swift/tree-sitter-swift/grammar.js
+0-1,543llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+7,317-5,8542,040 files not shown
+85,896-32,3822,046 files

LLVM/project a844bd2libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req atomic_fetch_min.pass.cpp atomic_fetch_max.pass.cpp

remove xfail
DeltaFile
+0-3libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+0-3libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
+0-3libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+0-3libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+0-124 files

LLVM/project cdaeecallvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/AArch64 transform-narrow-interleave-to-widen-memory-scalable.ll transform-narrow-interleave-to-widen-memory-remove-loop-region.ll

[VPlan] Only remove backedge if IV is still incremented by VFxUF.

After 6f253e87dd, VFxUF may have been replaced by UF, in which case the
simplification is no longer correct. Tighten check to make sure the
increment is still what we expect.

Fixes a miscompile in the added test case.
DeltaFile
+62-10llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
+9-4llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
+3-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+74-153 files

LLVM/project 30f633fllvm/lib/Target/AArch64 AArch64ISelLowering.cpp

Format code
DeltaFile
+4-3llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-31 files

LLVM/project f8a8f47llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

Add comment
DeltaFile
+1-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-01 files

LLVM/project 74044a7clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/include/clang/Basic LangOptions.def

[LifetimeSafety] Add bailout for large CFGs (#170444)

This PR introduces a flag for setting a threshold size for CFG blocks
above which lifetime safety analysis will skip processing those CFGs.
The major contributor of compilation time increase due to lifetime
safety analysis is the costly join operation during loan propagation.
This can be avoided at the cost of introducing some false negatives by
ignoring some large CFG blocks.

The `block-size-threshold` flag accepts an integer value which serves as
the threshold. CFG blocks with size above this threshold are ignored.
This value is only used if an integer > 0 is passed to it. By default it
is set to 0 and no CFG blocks are skipped during analysis. The CFG block
size refers to the number of facts associated with a CFG block. This PR
also adds a debug-only option that dumps the sizes of CFG blocks
associated with an analysis context:

Example output (for `llvm-project/llvm/lib/Demangle/Demangle.cpp`):


    [18 lines not shown]
DeltaFile
+48-0clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
+19-3clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
+10-1clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+8-0clang/include/clang/Options/Options.td
+4-1clang/unittests/Analysis/LifetimeSafetyTest.cpp
+2-0clang/include/clang/Basic/LangOptions.def
+91-56 files