LLVM/project b1c56fborc-rt/include/orc-rt-c Logging.h, orc-rt/lib/executor Logging_oslog.cpp

[orc-rt] Add os_log logging backend (Darwin only) (#209081)

Implement the os_log backend, selected with ORC_RT_LOG_BACKEND=os_log.
With this backend selected, the ORC_RT_LOG macros expand at the call
site to os_log_with_type. Each ORC runtime log level maps to an
os_log_type_t (error -> ERROR, warning -> DEFAULT, info -> INFO, debug
-> DEBUG). The compile-time ORC_RT_LOG_LEVEL floor still applies, but
runtime filtering is left to the system (e.g. `log config`), so the
printf backend's ORC_RT_LOG and ORC_RT_LOG_OUTPUT have no effect.

Records go to the "org.llvm.orc-rt" subsystem with the category as the
os_log category. (Per-category handles are created on first use and
cached).

Add regression tests under test/regression/logging/os_log:
no-printf-output.test checks that the backend produces no console
output, and an opt-in delivery test (llvm-lit --param
run-os-log-tests=1) scrapes `log show` to confirm records reach the
expected subsystem and category.
DeltaFile
+86-2orc-rt/include/orc-rt-c/Logging.h
+45-0orc-rt/lib/executor/Logging_oslog.cpp
+20-0orc-rt/test/regression/lit.cfg.py
+17-0orc-rt/test/regression/logging/os_log/delivery.test
+13-0orc-rt/test/tools/orc-rt-log-check.cpp
+6-0orc-rt/test/regression/logging/os_log/no-printf-output.test
+187-22 files not shown
+194-28 files

LLVM/project d8df9b5flang/lib/Semantics check-call.cpp, flang/test/Semantics call48.f90

[Flang] Fix for the spurious error for VOLATILE actual argument in implicit interface CALL (#192605)

Fixes #191343

Replaced the error with warning. Now it permits calling an external
procedure with implicit interface and passing a volatile argument. There
will be a warning that the procedure should have an explicit interface.

In addition to fixing the VOLATILE error, I updated the semantic check
for the ASYNCHRONOUS attribute. Both attributes were incorrectly
throwing a hard error when used as actual arguments in an implicit
interface call. According to the Fortran 2018 standard, an explicit
interface is only mandatory when the dummy argument has the VOLATILE or
ASYNCHRONOUS attribute. Since the standard doesn't restrict actual
arguments in this scenario, I downgraded both to emit a
-Wimplicit-interface-actual warning instead.
DeltaFile
+20-0flang/test/Semantics/call48.f90
+6-4flang/lib/Semantics/check-call.cpp
+26-42 files

LLVM/project d91a1e8.github/workflows libcxx-build-and-test.yaml

[libc++] Switch use llvm-premerge-libcxx-runner (#208928)

Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: Aiden Grossman <aidengrossman at google.com>
DeltaFile
+3-3.github/workflows/libcxx-build-and-test.yaml
+3-31 files

LLVM/project 3968f6fllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+214-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+22-187llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+108-99llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
+108-17llvm/lib/Target/WebAssembly/WebAssembly.h
+812-40712 files not shown
+1,078-49418 files

LLVM/project ce4aa47llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+214-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+20-185llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+98-15llvm/lib/Target/WebAssembly/WebAssembly.h
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+760-34211 files not shown
+956-39117 files

LLVM/project e6673bdllvm/lib/Transforms/Vectorize SLPVectorizer.cpp CMakeLists.txt, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.cpp SLPUtils.h

[SLP][Modularization][NFC] Extract type and constant helpers into SLPUtils (1/3) (#206881)

As we discussed on RFC:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

This patch introduces the SLPVectorizer/ subdirectory and adds
SLPUtils.{h,cpp} under namespace llvm::slpvectorizer, then moves the
type and constant query helpers into it:
  - isConstant
  - isVectorLikeInstWithConstOps
  - isSplat
  - allConstant
  - allSameBlock
  - allSameType
  - allSameOpcode
  - getNumElements
  - getPartNumElems
  - getNumElems
  - getInsertExtractIndex
  - getExtractIndex
DeltaFile
+186-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+1-180llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+85-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
+1-0llvm/lib/Transforms/Vectorize/CMakeLists.txt
+273-1804 files

LLVM/project 171ba71bolt/lib/Rewrite DWARFRewriter.cpp, bolt/test/X86 dwarf5-debug-names-cross-cu.s dwarf4-cross-cu-ranges.test

[BOLT] fix DIE traversal incorrect loop termination condition. (#208450)

The DIE traversal loop in partitionCUs() used an incorrect termination
condition, causing it to read past the end of the CU. Fix the loop to
stop at NextCUOffset so traversal no longer runs beyond the unit's
boundary.

Fixed [#208440](https://github.com/llvm/llvm-project/issues/208440).
DeltaFile
+5-9bolt/lib/Rewrite/DWARFRewriter.cpp
+3-1bolt/test/X86/dwarf5-debug-names-cross-cu.s
+3-1bolt/test/X86/dwarf4-cross-cu-ranges.test
+11-113 files

LLVM/project 461f0b6lldb/include/lldb/Host JSONTransport.h

[LLDB] Fix use-after-free destroying a Binder from its OnClosed handler (#209019)

transport::Binder::OnClosed() holds m_mutex (a recursive_mutex) while
invoking m_disconnect_handler. In the MCP server, that handler removes
the disconnected client, which owns the transport and therefore the
Binder itself. As a result, the Binder -- and its m_mutex -- are
destroyed while the scoped_lock in OnClosed still holds the lock.

This is a use-after-free everywhere, as the lock guard later unlocks
freed memory.

Move the disconnect handler out of the critical section and release the
lock before invoking it, so the Binder can be safely destroyed without
holding or destroying a locked mutex.
DeltaFile
+12-3lldb/include/lldb/Host/JSONTransport.h
+12-31 files

LLVM/project 692d89dlldb/source/Host/freebsd Host.cpp

[LLDB][FreeBSD] Fill pgid and sid in ProcessInfo (#209009)

These two fields are required by HostTest.cpp. Although I don't see any
usecase, we add these two fields to prevent failure.
DeltaFile
+6-0lldb/source/Host/freebsd/Host.cpp
+6-01 files

LLVM/project c7812f6llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 copyable-repeated-operand-partial-commutativity.ll

[SLP] Fix crash from repeated operand with mixed commutativity

A value used as both a commutable and non-commutable operand of the
same call got double-counted in dependency tracking, adding a
dependency scheduling never releases and tripping an assertion.

Fixes #209005

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209067
DeltaFile
+28-0llvm/test/Transforms/SLPVectorizer/X86/copyable-repeated-operand-partial-commutativity.ll
+3-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+31-02 files

LLVM/project 7d24dfalld/docs ReleaseNotes.rst

ReleaseNotes: add lld/ELF notes (#209066)

Summarize `git log origin/release/22.x..main` entries, excluding
cherry-picked notes `git rev-list main..origin/release/22.x -- lld/ELF`,
following the style of my previous release notes.
DeltaFile
+81-1lld/docs/ReleaseNotes.rst
+81-11 files

LLVM/project c847ddflld/ELF Writer.cpp, lld/unittests/AsLibELF OutputStream.cpp CMakeLists.txt

[ELF] Write the output to lld::outs() when -o is - (#209064)

When the output file is "-", write the image to lld::outs() (the
stdoutOS
argument of lld::elf::link()) instead of committing the
FileOutputBuffer,
which writes to the process's stdout. This lets lld used as a library
capture
the output in a raw_ostream without an open syscall.

This reimplements the stale #72061 and adds a unittest.
DeltaFile
+35-0lld/unittests/AsLibELF/OutputStream.cpp
+8-1lld/ELF/Writer.cpp
+1-0lld/unittests/AsLibELF/CMakeLists.txt
+44-13 files

LLVM/project b6e77d6clang/unittests/ScalableStaticAnalysis/Analyses/OperatorNewDelete OperatorNewDeletePointersExtractorTest.cpp

[Clang][Test] Fix -Wctad-maybe-unsupported in OperatorNewDeletePointersExtractorTest.cpp (#209012)

Fix warning: `'std::set' may not intend to support class template
argument deduction [-Wctad-maybe-unsupported]`, which is error under
-Werror.
std::set{*PtrId} does implicitly deduce to std::set<EntityId>, but it
is not explicit or user-defined CATD guide. Opt-in warning
-Wctad-maybe-unsupported flags it as maybe unsafe and unintended. The
warning is enabled at
https://github.com/llvm/llvm-project/blob/9083925dadb4/llvm/cmake/modules/HandleLLVMOptions.cmake#L977
Relates to #206600.
DeltaFile
+6-6clang/unittests/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractorTest.cpp
+6-61 files

LLVM/project 9083925lld/test/ELF retain-symbols-file.s retain-und.s

[ELF,test] Modernize --retain-symbols-file tests (#209062)

Switch to llvm-readelf, compact FileCheck directives, and
split-file-style naming. Prepares for a --retain-symbols-file behavior
change.
DeltaFile
+37-52lld/test/ELF/retain-symbols-file.s
+10-10lld/test/ELF/retain-und.s
+47-622 files

LLVM/project fe85b5bllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 minbitwidth-signed-icmp-const.ll

[SLP] Fix miscompile from truncating signed icmp constant

getActiveBits() ignores sign, so a positive constant needing the
narrower type's top bit was truncated to a negative value. Use
getSignificantBits() for signed comparisons.

Fixes #209010

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209061
DeltaFile
+7-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-1llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-signed-icmp-const.ll
+9-32 files

LLVM/project 0188651llvm/test/Transforms/SLPVectorizer/X86 minbitwidth-signed-icmp-const.ll

[SLP][NFC]Add a test with the incorrect const trunc in signed compare, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209059
DeltaFile
+50-0llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-signed-icmp-const.ll
+50-01 files

LLVM/project d036d30lld/test/MachO bp-section-orderer-errs.s

[test] Add REQUIRES: aarch64 (#209058)
DeltaFile
+1-0lld/test/MachO/bp-section-orderer-errs.s
+1-01 files

LLVM/project bb4aea6llvm/test/Analysis/ScalarEvolution ptrtoint-special-pointers.ll, llvm/test/Transforms/GVN ptrtoaddr.ll

[SCEV,GVN] Add additional ptrtoaddr tests (NFC) (#209049)

Extend test coverage with files with mixied ptrtoaddr/ptrtoint, as well
as wide pointers.

Extra test coverage for
https://github.com/llvm/llvm-project/pull/180244.
DeltaFile
+193-0llvm/test/Analysis/ScalarEvolution/ptrtoint-special-pointers.ll
+46-0llvm/test/Transforms/IndVarSimplify/AArch64/expand-ptrtoaddr-reuse-ptrtoint.ll
+46-0llvm/test/Transforms/GVN/ptrtoaddr.ll
+285-03 files

LLVM/project fd65249llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize outer-loop-atomic.ll

[VPlan] Handle AtomicRMW/AtomicCmpXchg/Fence in outer loop creation. (#209031)

Teach VPInstruction::getNumOperandsForOpcode about AtomicRMW,
AtomicCmpXchg and Fence, so VPlan construction over an outer loop that
still contains these operations does not crash before later legality
rejects the loop.

Fixes crashes in the added tests.
DeltaFile
+168-0llvm/test/Transforms/LoopVectorize/outer-loop-atomic.ll
+5-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+176-03 files

LLVM/project 6237781llvm/lib/Target/AArch64 AArch64InstrInfo.cpp SVEInstrFormats.td, llvm/lib/Target/AArch64/MCTargetDesc AArch64MCTargetDesc.h

[AArch64] Add an OPERAND_IMM_UINT5 operand type. (#209057)

This helps verify that certain operands are in the correct range, in
this case
0-31.
DeltaFile
+6-0llvm/test/CodeGen/AArch64/verify-imm.mir
+6-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+3-0llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
+2-0llvm/lib/Target/AArch64/SVEInstrFormats.td
+1-0llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
+18-05 files

LLVM/project 349542fllvm/test/Transforms/LoopVectorize/RISCV strided-accesses.ll

[VPlan] Add strided access test with disjoint or. (NFC) (#209051)

Currently this is missed by VPlan SCEV due to disjoint OR not being
handled.
DeltaFile
+109-0llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
+109-01 files

LLVM/project 7ccaa93llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp

fix

Created using spr 1.3.7
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+0-11 files

LLVM/project 987bca0llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+214-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+18-183llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+86-13llvm/lib/Target/WebAssembly/WebAssembly.h
+746-33810 files not shown
+917-37916 files

LLVM/project fd0003cllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+236-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+214-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+20-185llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+98-15llvm/lib/Target/WebAssembly/WebAssembly.h
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+761-34211 files not shown
+957-39117 files

LLVM/project 5566928llvm/lib/Analysis LoopAccessAnalysis.cpp, llvm/test/Analysis/LoopAccessAnalysis wide-pointer-index-distance.ll

[LAA] Bail out of dependence analysis when distance exceeds 64 bits. (#209052)

isDependent extracts the dependence distance into 64 bit integers.

Bail out conservatively when the constant distance or the signed minimum
distance needs more than 64 bits.
DeltaFile
+85-0llvm/test/Analysis/LoopAccessAnalysis/wide-pointer-index-distance.ll
+16-5llvm/lib/Analysis/LoopAccessAnalysis.cpp
+101-52 files

LLVM/project e7885c3llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+18-183llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+197-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+73-13llvm/lib/Target/WebAssembly/WebAssembly.h
+715-33810 files not shown
+884-37916 files

LLVM/project 9a921b4llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+214-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+18-183llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+86-13llvm/lib/Target/WebAssembly/WebAssembly.h
+746-33810 files not shown
+917-37916 files

LLVM/project 552f196llvm/lib/Target/WebAssembly WebAssemblyCoalesceFeaturesAndStripAtomics.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+1-01 files

LLVM/project b8d37cbllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.cpp, llvm/lib/Target/AArch64/MCTargetDesc AArch64MCTargetDesc.h

[AArch64] Add an OPERAND_IMM_UINT8 operand type. (#209050)

This helps verify that certain operands are in the correct range, in
this case
0-255.
DeltaFile
+12-0llvm/test/CodeGen/AArch64/verify-imm.mir
+8-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+6-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+3-0llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
+1-0llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
+30-15 files

LLVM/project 30c81e2llvm/lib/Target/WebAssembly WebAssemblyCoalesceFeaturesAndStripAtomics.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+1-01 files