LLVM/project 254fcbeopenmp/docs/design Runtimes.rst

[offload][OpenMP] Add basic documentation for kernel record replay (#193699)
DeltaFile
+140-0openmp/docs/design/Runtimes.rst
+140-01 files

LLVM/project 3561fc7lldb/include/lldb/Utility StringExtractorGDBRemote.h, lldb/packages/Python/lldbsuite/test/tools/lldb-server gdbremote_testcase.py

[lldb-server] Implement support for MultiBreakpoint packet

This is fairly straightforward, thanks to the helper functions created
in the previous commit.

https://github.com/llvm/llvm-project/pull/192910
DeltaFile
+63-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+2-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
+2-0lldb/source/Utility/StringExtractorGDBRemote.cpp
+1-0lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
+1-0lldb/include/lldb/Utility/StringExtractorGDBRemote.h
+0-1lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py
+69-16 files

LLVM/project df77a29openmp/docs/design Runtimes.rst

[offload] Fix envar description in docs (#193642)
DeltaFile
+3-3openmp/docs/design/Runtimes.rst
+3-31 files

LLVM/project 5506829clang/include/clang/Parse Parser.h, clang/include/clang/Sema Sema.h

Remove unused parameter; NFC (#193767)

As part of removing delayed typo handling in
9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b, the KeywordReplacement
parameter ended up being unused, so this patch removes it and adjusts
the callers. This issue was discovered by a downstream static analysis
scan.

It is an NFC change because the callers of the function were looking for
a sentinel return value to determine whether they needed to call
UnconsumeToken on that parameter, but those calls cannot be reached
because the sentinel return value cannot be produced any longer.
DeltaFile
+5-14clang/lib/Parse/ParseExpr.cpp
+3-13clang/lib/Parse/ParseExprCXX.cpp
+6-6clang/lib/Sema/SemaExpr.cpp
+2-6clang/lib/Parse/ParseOpenMP.cpp
+1-2clang/include/clang/Sema/Sema.h
+1-2clang/include/clang/Parse/Parser.h
+18-436 files

LLVM/project d060b49flang/lib/Lower ConvertCall.cpp CustomIntrinsicCall.cpp, flang/test/Lower/HLFIR elemental-character-min-max.f90 elemental-character-min-max-optional-todo.f90

[flang] Route elemental CHARACTER MIN/MAX OPTIONAL cases through custom lowering (#191244)

Follow-up to #189464.

Elemental CHARACTER MIN/MAX with dynamically optional arguments was
bypassing the custom optional-handling path and could lower incorrectly.

This change routes those cases through `genCustomIntrinsicRefCore` so
they hit the existing TODO instead of producing bad code. It also
unwraps sequence types before checking `fir::isa_char`, so the same TODO
is triggered for elemental calls as well as scalar ones, and adds a
negative test for the diagnostic.

Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>
DeltaFile
+0-57flang/test/Lower/HLFIR/elemental-character-min-max.f90
+12-0flang/test/Lower/HLFIR/elemental-character-min-max-optional-todo.f90
+8-0flang/lib/Lower/ConvertCall.cpp
+1-1flang/lib/Lower/CustomIntrinsicCall.cpp
+21-584 files

LLVM/project 86cf048lldb/source/Plugins/Process/gdb-remote GDBRemoteCommunicationServerLLGS.cpp GDBRemoteCommunicationServerLLGS.h

[lldb-server][NFC] Factor out code handling breakpoint packets

This commit extracts the code handling breakpoint packets into a helper
function that can be used by a future implementation of the
MultiBreakpointPacket.

It is meant to be purely NFC.

There are two functions handling breakpoint packets (`handle_Z`
and `handle_z`) with a lot of repeated code. This commit did not attempt
to merge the two, as that would make the diff much larger due to subtle
differences in the error message produced by the two. The only
deduplication done is in the code processing a GDBStoppointType, where a
helper struct (`BreakpointKind`) and function (`std::optional<BreakpointKind> getBreakpointKind(GDBStoppointType stoppoint_type)`) was created.

https://github.com/llvm/llvm-project/pull/192910
DeltaFile
+147-105lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+28-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
+175-1052 files

LLVM/project d806cb4lldb/test/API/functionalities/multi-breakpoint TestMultiBreakpoint.py main.c, lldb/tools/debugserver/source RNBRemote.cpp JSON.h

[debugserver] Implement MultiBreakpoint

This implements the packet as described in https://github.com/llvm/llvm-project/pull/192910
DeltaFile
+191-0lldb/test/API/functionalities/multi-breakpoint/TestMultiBreakpoint.py
+71-0lldb/tools/debugserver/source/RNBRemote.cpp
+7-0lldb/test/API/functionalities/multi-breakpoint/main.c
+3-0lldb/test/API/functionalities/multi-breakpoint/Makefile
+2-0lldb/tools/debugserver/source/JSON.h
+2-0lldb/tools/debugserver/source/RNBRemote.h
+276-06 files

FreeBSD/ports dc2ae3cbenchmarks/hipercontracer distinfo Makefile

benchmarks/hipercontracer: Update 2.1.13 => 2.1.14

Changelog:
https://github.com/dreibh/hipercontracer/blob/hipercontracer-2.1.14/ChangeLog

Commit log:
https://github.com/dreibh/hipercontracer/compare/hipercontracer-2.1.13...hipercontracer-2.1.14

PR:             294728
Sponsored by:   UNIS Labs
DeltaFile
+3-3benchmarks/hipercontracer/distinfo
+1-1benchmarks/hipercontracer/Makefile
+4-42 files

LLVM/project 84eb64dllvm/test/tools/llubi intr_bit_manip.ll intr_int_arith.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Implement intrinsics for integer arithmetic/bit manipulation (#193702)

This PR implements intrinsics for integer arithmetic (from the [Standard
C/C++ Library
Intrinsics](https://llvm.org/docs/LangRef.html#standard-c-c-library-intrinsics)),
bit manipulation, overflow arithmetic, and saturation arithmetic.
DeltaFile
+308-6llvm/tools/llubi/lib/Interpreter.cpp
+79-0llvm/test/tools/llubi/intr_bit_manip.ll
+64-0llvm/test/tools/llubi/intr_int_arith.ll
+64-0llvm/test/tools/llubi/intr_arith_sat.ll
+60-0llvm/test/tools/llubi/intr_arith_overflow.ll
+15-0llvm/test/tools/llubi/intr_passthrough.ll
+590-62 files not shown
+616-68 files

NetBSD/src ruFQh6jlibexec/lfs_cleanerd lfs_cleanerd.c coalesce.c

   Use the new FCNTL mechanism to move blocks to clean segments, rather than
   duplicating the code in user space.  lfs_cleanerd still decides which
   segments' blocks to move but no longer identifies individual blocks
   for cleaning, and does not handle file data.
VersionDeltaFile
1.61+121-841libexec/lfs_cleanerd/lfs_cleanerd.c
1.34+55-295libexec/lfs_cleanerd/coalesce.c
1.16+29-1libexec/lfs_cleanerd/cleaner.h
1.9+2-2libexec/lfs_cleanerd/Makefile.inc
+207-1,1394 files

LLVM/project 44d1832llvm/include/llvm/ADT STLExtras.h, llvm/unittests/ADT STLExtrasTest.cpp

Reland #2 "[STLExtras] Add a template for detecting whether a type has an equality comparison operator" (#177415)

Reland PR #176893 which was an attempt to reland PR #176429.

Fix:

There was a test case asserting that for types `StructA` `StructB` where
`operator==(const StructB &, const StructA &)` is defined,
`has_equality_comparison_v<StructA, StructB>` is false because the
arguments are the wrong way around. However, in C++20, operator overload
resolution was changed so that for reflexive comparison operators `==`
and `!=` if a candidate exists with the arguments swapped then this will
be used. This means the test case failed when compiled with C++20. That
check was simply removed in this version.
DeltaFile
+26-0llvm/unittests/ADT/STLExtrasTest.cpp
+11-0llvm/include/llvm/ADT/STLExtras.h
+37-02 files

FreeBSD/ports 5c20dfdfilesystems/zfstools Makefile

filesystems/zfstools: Fix with Ruby 3.4.

It needs rubygem-getoptlong.

PR:     294720
DeltaFile
+3-1filesystems/zfstools/Makefile
+3-11 files

FreeNAS/freenas 2a2759asrc/middlewared/middlewared/alert/source vseries_unstamped_spd.py

NAS-140765 / 26.0.0-BETA.2 / fix vseries alert (#18795)

26 does not have type annotation changes to the alert system like 27
has.
DeltaFile
+14-22src/middlewared/middlewared/alert/source/vseries_unstamped_spd.py
+14-221 files

NetBSD/src o3gwClHsbin/newfs_lfs make_lfs.c

   Wait to determine inode-block size until the block and fragment sizes have
   been finalized.
VersionDeltaFile
1.61+14-9sbin/newfs_lfs/make_lfs.c
+14-91 files

LLVM/project 87a8d40clang/lib/CodeGen CGHLSLRuntime.cpp CGExpr.cpp, clang/lib/Sema SemaHLSL.cpp

[HLSL] Add codegen for accessing resource members of a struct (2nd merge attempt) (#193584)

Any expression that accesses a resource or resource array member of a global struct instance must be during codegen replaced by an access of the corresponding implicit global resource variable.

When codegen encounters a `MemberExpr` of a resource type, it traverses the AST to locate the parent struct declaration, building the expected global resource variable name along the way. If the parent declaration is a non-static global struct instance, codegen searches its `HLSLAssociatedResourceDeclAttr` attributes to locate the matching global resource variable and then generates IR code to access the resource global in place of the member access.

Fixes #182989

This is the second try to land this. The [first one](https://github.com/llvm/llvm-project/pull/187127)collided with #188792 and both PRs had to be reverted. No updates needed to this change. I synced with @inbelic and we agreed
that this one should go in first.
DeltaFile
+146-10clang/lib/CodeGen/CGHLSLRuntime.cpp
+132-0clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
+100-0clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
+83-0clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
+19-24clang/lib/Sema/SemaHLSL.cpp
+12-4clang/lib/CodeGen/CGExpr.cpp
+492-383 files not shown
+525-389 files

LLVM/project 0459273llvm/include/llvm/IR ConstantRange.h, llvm/lib/Analysis ValueTracking.cpp

[ConstantRange] Expand makeAllowedICmpRegion to use samesign to give tighter range (#174355)

After the addition of samesign then instcombine correctly transforms
unsigned greater than to use it if it can prove that value is greater
than zero and then removes the assume that allowed it to prove that. For
example:
```
define i8 @remove_for_samesign(i8 %x) {
  %gt = icmp sgt i8 %x, 10
  call void @llvm.assume(i1 %gt)
  %gt.zero = icmp sge i8 %x, 0
  call void @llvm.assume(i1 %gt.zero)
  ret i8 %x
}
```
Is optimized to:
```
define i8 @remove_for_samesign(i8 %x) {
  %gt= icmp samesign ugt i8 [[X:%.*]], 10

    [11 lines not shown]
DeltaFile
+104-0llvm/unittests/Analysis/ValueTrackingTest.cpp
+59-0llvm/unittests/IR/ConstantRangeTest.cpp
+10-0llvm/lib/IR/ConstantRange.cpp
+8-0llvm/include/llvm/IR/ConstantRange.h
+1-1llvm/lib/Analysis/ValueTracking.cpp
+182-15 files

LLVM/project 9f75001lldb/test/API/python_api/run_locker TestRunLocker.py

[lldb] Fix flaky TestRunLocker by using lldb.target instead of lldb.frame (#193788)

`lldb.frame` is a Python convenience variable that resolves to `None`
when the process is running (no selected frame), potentially causing an
`AttributeError` before the run locker check is ever reached. Use
`lldb.target` instead, which is always valid and properly exercises the
run locker path.

Fixes #193787
DeltaFile
+1-1lldb/test/API/python_api/run_locker/TestRunLocker.py
+1-11 files

FreeNAS/freenas cd1668asrc/middlewared/middlewared/alert/source vseries_unstamped_spd.py

fix vseries alert
DeltaFile
+14-22src/middlewared/middlewared/alert/source/vseries_unstamped_spd.py
+14-221 files

LLVM/project 7779ee8flang/include/flang/Evaluate expression.h, flang/lib/Lower ConvertExprToHLFIR.cpp

[flang] Support polymorphic types in conditional expressions (#192684)

Add lowering support for polymorphic (`CLASS(T)`) conditional
expressions.

`ConditionalExpr::GetType()` now checks both branches and returns the
polymorphic type if either is polymorphic (F2023 10.1.4(7)). In
lowering, polymorphic conditionals use `fir::ClassType` instead of
`fir::BoxType` for the allocatable temporary so that dynamic type info
is preserved through `hlfir.assign` realloc.

Covers scalar, array, and mixed `TYPE(T)`/`CLASS(T)` operands. Unlimited
polymorphic `CLASS(*)` does not have a declared type, and is therefore
rejected in semantics. LIT tests for lowering and semantics have been
updated.
DeltaFile
+105-0flang/test/Lower/HLFIR/conditional-expr.f90
+12-11flang/lib/Semantics/expression.cpp
+13-7flang/lib/Lower/ConvertExprToHLFIR.cpp
+14-1flang/include/flang/Evaluate/expression.h
+11-3flang/test/Semantics/conditional-expr.f90
+155-225 files

LLVM/project ee3ed4allvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/test/Transforms/InstCombine hyperbolic-lib-functions.ll

[InstCombine] Fold neg arg in hyperbolic lib functions (#193586)

Fix #173706 (it is closed but not really fixed). 

The previous PR #173730 only addressed the **intrinsics**
`@llvm.sinh.f64` etc, which does not have effects on the C program
compiled without `-fno-math-errno`.

I validated the optimization by `clang -O2`.
DeltaFile
+205-0llvm/test/Transforms/InstCombine/hyperbolic-lib-functions.ll
+12-0llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+217-02 files

LLVM/project 6f99938llvm/utils/lit/lit TestRunner.py InprocBuiltins.py

Reland "[Lit][NFC] Refactor shell environment functionality and in-process builtins from TestRunner.py into new modules" (#193759)

Fixed version of #177358 which accidentally removed an import.

This is the first in a series of PRs reworking Lit's handling of
in-process builtins to be run as part of command pipelines, and to
enable users to provide new in-process builtins via Lit's configuration.
The full series of patches can be found here:
https://github.com/BStott6/llvm-project/tree/lit-inproc-builtins.

This work is required for the test daemonization project:
https://discourse.llvm.org/t//88612/9

This PR moves the shell environment functionality and existing
in-process builtins from TestRunner.py into new modules. This is
important not just for organizational purposes but also because,
eventually, user defined in-process builtins will need to be able to
import items from these modules, but these cannot import TestRunner as
this would result in a dependency cycle.
DeltaFile
+33-576llvm/utils/lit/lit/TestRunner.py
+315-0llvm/utils/lit/lit/InprocBuiltins.py
+271-0llvm/utils/lit/lit/ShellEnvironment.py
+619-5763 files

NetBSD/src tJ0jw5Cusr.sbin/dumplfs dumplfs.c

   Add ibsize to the summary output.
VersionDeltaFile
1.72+6-5usr.sbin/dumplfs/dumplfs.c
+6-51 files

LLVM/project a0ca516llvm/utils/lit/tests progress-bar.py

fixup! Fix after last PR comment
DeltaFile
+1-1llvm/utils/lit/tests/progress-bar.py
+1-11 files

LLVM/project 0ce9278llvm/utils/lit/tests progress-bar.py

[lit] Fix `progress-bar.py` flaky test

The `lit` progress-bar test was checking for exact progress-bar text
like `0.. 10.. 20.. 30.. 40..`, but that output is not stable from run
to run.

The progress bar is based on timing estimates, including saved timings
from earlier runs, so small timing differences can change which numbers
get printed.

That made the test flaky: FileCheck could match the wrong Testing: line
and then fail later, even though the actual test failures were correct.

Relax the test to verify ordering instead of exact progress-bar
contents. The updated checks assert that the test header is printed, that
each failing test result is separated by a Testing: progress-bar line,
and that the final failed-tests summary lists all expected tests in order.

This preserves coverage for the simple progress-bar path while removing

    [3 lines not shown]
DeltaFile
+16-9llvm/utils/lit/tests/progress-bar.py
+16-91 files

FreeNAS/freenas 1a6ddfbsrc/freenas/usr/lib/systemd/network 10-vseries-internode.link, src/middlewared/middlewared/alert/source vseries_unstamped_spd.py

fix alert, add .link file
DeltaFile
+14-22src/middlewared/middlewared/alert/source/vseries_unstamped_spd.py
+12-2src/freenas/usr/lib/systemd/network/10-vseries-internode.link
+26-242 files

LLVM/project dd8c777llvm/lib/Target/RISCV RISCVRegisterInfo.cpp RISCVRegisterInfo.h, llvm/lib/Target/RISCV/GISel RISCVInstructionSelector.cpp

[RISCV][GlobalISel] Add intial support for inline asm (#193314)

This patch adds the (almost) minimal changes to support inline assembly
in the RISC-V GlobalISel backend.

The tests are mostly from
`llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll` but
sadly not all test could be taken. I am planning to address the
remaining tests in later PRs.

The motivation for the PR was a fallback to SelectionDAG when compiling
libc. The motivating case can be seen in the test
`test_input_register_pointer`. That is also the reason for the small
changes in `RISCVInstructionSelector::selectCopy`.
DeltaFile
+236-0llvm/test/CodeGen/RISCV/GlobalISel/irtranslator-inline-asm.ll
+50-0llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+7-41llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
+6-0llvm/lib/Target/RISCV/RISCVRegisterInfo.h
+6-0llvm/lib/Target/RISCV/RISCVSubtarget.cpp
+4-0llvm/lib/Target/RISCV/RISCVSubtarget.h
+309-416 files

LLVM/project 2248253llvm/lib/Target/PowerPC PPCISelLowering.cpp, llvm/test/CodeGen/PowerPC testComparesieqsc.ll testComparesieqsi.ll

[PowerPC] fixed issue "Failure to optimize (x == 0) ? 0xFF : 0 to addic+subfe instead of cntlzw+srwi+neg" (#190606)

The patch fixed issue [[PowerPC] Failure to optimize (x == 0) ? 0xFF : 0
to addic+subfe instead of cntlzw+srwi+neg
](https://github.com/llvm/llvm-project/issues/98598)
DeltaFile
+67-1llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+12-12llvm/test/CodeGen/PowerPC/testComparesieqsc.ll
+12-12llvm/test/CodeGen/PowerPC/testComparesieqsi.ll
+12-12llvm/test/CodeGen/PowerPC/testComparesieqss.ll
+12-12llvm/test/CodeGen/PowerPC/testCompareslleqsc.ll
+12-12llvm/test/CodeGen/PowerPC/testCompareslleqsi.ll
+127-6114 files not shown
+212-18120 files

FreeNAS/freenas 9503608src/freenas/usr/lib/systemd/network 10-vseries-internode.link, src/middlewared/middlewared/alert/source vseries_unstamped_spd.py

fix alert, add .link file
DeltaFile
+19-33src/middlewared/middlewared/alert/source/vseries_unstamped_spd.py
+12-2src/freenas/usr/lib/systemd/network/10-vseries-internode.link
+31-352 files

FreeNAS/freenas aed34d3src/middlewared/middlewared/alert/source vseries_unstamped_spd.py, src/middlewared/middlewared/plugins/enclosure_ enclosure_class.py

fix
DeltaFile
+171-1src/middlewared/middlewared/plugins/failover_/internal_interface.py
+59-0src/middlewared/middlewared/alert/source/vseries_unstamped_spd.py
+51-0tests/unit/test_vseries_hw_rev.py
+27-2src/middlewared/middlewared/plugins/failover_/detect_utils.py
+23-0src/middlewared/middlewared/utils/version.py
+8-2src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+339-56 files

FreeBSD/ports 1b109ddnet/teddycloud pkg-message Makefile, net/teddycloud/files pkg-message.in patch-src_home__assistant.c

net/teddycloud: Update 0.6.7 => 0.6.8

Changelog:
https://github.com/toniebox-reverse-engineering/teddycloud/releases/tag/tc_v0.6.8

Port changes:
 * Replace several source code patch files with CFLAGS instead.
 * Replace long paths with DATADIR and ETCDIR instead.
 * Pet portlint: remove empty line between *_DEPENDS.
 * Convert pkg-message to files/pkg-message.in and fix typo.

PR:             294230
Reported by:    Michael Pape <freebsd at pe82.de> (maintainer)
Approved by:    vvd (co-mentor)
DeltaFile
+27-0net/teddycloud/files/pkg-message.in
+0-27net/teddycloud/pkg-message
+13-10net/teddycloud/Makefile
+0-19net/teddycloud/files/patch-src_home__assistant.c
+0-18net/teddycloud/files/patch-src_handler__api.c
+0-15net/teddycloud/files/patch-src_toniesJson.c
+40-896 files not shown
+52-15112 files