LLVM/project 5053b88flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics resolve-names.cpp openmp-utils.cpp

[flang][OpenMP] Limit scope creation to constructs with data environment (#198780)

Identify specific constructs that require data envorinments, and only
create scopes for them. This avoids scopes for loop-transformation
constructs, for example.

This isn't a correctness fix, but a clarification and a simplification
of the name-resolution code for OpenMP.
DeltaFile
+13-64flang/lib/Semantics/resolve-names.cpp
+31-0flang/lib/Semantics/openmp-utils.cpp
+6-7flang/test/Semantics/OpenMP/affected-loops.f90
+2-0flang/include/flang/Semantics/openmp-utils.h
+52-714 files

LLVM/project cdc2749clang/lib/Driver/ToolChains MSVC.cpp, clang/test/Driver msvc-link.c

[Driver][MSVC] Use LLD if DWARF is requested (#198600)

Clang can emit DWARF on Windows if requested with `-gdwarf` (or
`-gdwarf-N`). The generated object files will then have the `.debug_*`
sections. These section names are all larger than eight bytes. This
creates an issue in the final executable. PE/COFF executables don't
allow section names longer than eight characters. From the
[docs](https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers):

> **Name**: An 8-byte, null-padded UTF-8 encoded string. If the string
is exactly 8 characters long, there is no terminating null. For longer
names, this field contains a slash (/) that is followed by an ASCII
representation of a decimal number that is an offset into the string
table. Executable images do not use a string table and do not support
section names longer than 8 characters.

MSVC's linker follows this and will truncate section names in
executables. So a `.debug_info` would become `.debug_i`. LLD on the
other hand does allow these long section names (with a warning). This

    [8 lines not shown]
DeltaFile
+18-4clang/lib/Driver/ToolChains/MSVC.cpp
+18-0clang/test/Driver/msvc-link.c
+36-42 files

LLVM/project 6fb4c76llvm/lib/Target/PowerPC PPCInstrInfo.td PPCInstr64Bit.td

[PowerPC][NFC] Change arguments of PPCustomInserter

Like #198861 but for PPCCustomInserter.
DeltaFile
+25-39llvm/lib/Target/PowerPC/PPCInstrInfo.td
+10-16llvm/lib/Target/PowerPC/PPCInstr64Bit.td
+3-10llvm/lib/Target/PowerPC/PPCInstrVSX.td
+4-7llvm/lib/Target/PowerPC/PPCInstrSPE.td
+2-2llvm/lib/Target/PowerPC/PPCInstrFormats.td
+2-2llvm/lib/Target/PowerPC/PPCInstrHTM.td
+46-766 files

LLVM/project ba2c3b0libc/config/baremetal config.json

[libc] Enable baremetal float printf using modular format (#198900)

The most best configuration for llvm-libc is for it to be used with a
recent clang. Accordingly, this patch enables floating point type
support in printf for baremetal without inflating code size by also
enabling modular printf support. This is safe for older clang and other
compilers, but it would increase code size for the default baremetal
configuration on such targets.

---------

Co-authored-by: Michael Jones <michaelrj at google.com>
DeltaFile
+3-3libc/config/baremetal/config.json
+3-31 files

FreeBSD/ports 0da986bwww/firefox distinfo Makefile

www/firefox: update to 151.0.1

Release Notes:
  https://www.firefox.com/en-US/firefox/151.0.1/releasenotes/

(cherry picked from commit e92636d5b1b7ad1e36e87e63ec8a81b2784e0adb)
DeltaFile
+3-3www/firefox/distinfo
+2-3www/firefox/Makefile
+5-62 files

FreeBSD/ports e92636dwww/firefox distinfo Makefile

www/firefox: update to 151.0.1

Release Notes:
  https://www.firefox.com/en-US/firefox/151.0.1/releasenotes/
DeltaFile
+3-3www/firefox/distinfo
+2-3www/firefox/Makefile
+5-62 files

LLVM/project 6a6deccmlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Remove unrelated empty line
DeltaFile
+0-1mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+0-11 files

LLVM/project cb52f4amlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Require explicit yield in iterator op

Remove the implicit terminator trait from omp.iterator so iterator
modifiers must explicitly yield the value used to form the iterated list.

Add and update verfier and test accordingly.
DeltaFile
+15-0mlir/test/Dialect/OpenMP/ops.mlir
+5-8mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+9-0mlir/test/Dialect/OpenMP/invalid.mlir
+1-3mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+30-114 files

LLVM/project 6ada81bmlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Simplify map iterator clause assembly

- Split MLIR map syntax into separate map_entries(...) and map_iterated(...),
  removing the custom MapEntryList parser/printer.
- Moved omp.target map_iterated out of TargetOpRegion
  - it now prints before the target region instead of as map_iterated_entries(...) after the region.
- Renamed LLVMIR TODO helper to clause-style checkMap.
- Added DeclareMapperInfoOp builder from DeclareMapperInfoOperands
  and updated Flang call sites so they do not need to spell out newly
  added operands..
DeltaFile
+12-89mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+14-14mlir/test/Dialect/OpenMP/ops.mlir
+12-12mlir/test/Dialect/OpenMP/invalid.mlir
+7-7mlir/test/Target/LLVMIR/openmp-todo.mlir
+6-8mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+6-3mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+57-1333 files not shown
+63-1419 files

LLVM/project 40b369cflang/lib/Optimizer/OpenMP FunctionFiltering.cpp, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

Reject target map iterators without captures

Reject target map iterators until the follow-up capture-binding
representation is added since currently map_iterated on omp.target
only represents the dynamic map list and does not consider the
target-region arguments required by IsolatedFromAbove.
DeltaFile
+0-23mlir/test/Dialect/OpenMP/ops.mlir
+0-19mlir/test/Target/LLVMIR/openmp-todo.mlir
+5-5mlir/test/Dialect/OpenMP/invalid.mlir
+5-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+0-1flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
+10-485 files

LLVM/project fde0ea0flang/include/flang/Optimizer/CodeGen TypeConverter.h, flang/lib/Optimizer/CodeGen TypeConverter.cpp

[flang][AddAliasTags] Fix segfault when type contains `fir.boxproc` (#198997)

`fir.boxproc` currently has no LLVM representation (its converter
returns `std::nullopt`). When `AddAliasTags` called
`getTypeSizeAndAlignment` on a type containing `fir.boxproc` (e.g. a
sequence of a derived type with procedure pointer components),
`convertRecordType` and `convertSequenceType` would crash trying to
mlir::cast a null type.

For any type that might recursively contain a non-convertible type
(`fir.boxproc` in this case), `TypeConverter` would now propagate an
empty optional `mlir::Type` and emit a debug warning that conversion
failed. This helps us avoid seg faulting expecting that the type or some
part of it were converted correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+43-33flang/lib/Optimizer/CodeGen/TypeConverter.cpp
+50-0flang/test/Transforms/tbaa-type-converter-boxproc.fir
+25-14flang/lib/Optimizer/Transforms/AddAliasTags.cpp
+3-4flang/include/flang/Optimizer/CodeGen/TypeConverter.h
+121-514 files

LLVM/project 5ec22aaflang-rt/lib/runtime CMakeLists.txt, llvm/runtimes CMakeLists.txt

Post-merge fixes
DeltaFile
+48-52flang-rt/lib/runtime/CMakeLists.txt
+12-19llvm/runtimes/CMakeLists.txt
+3-3openmp/module/CMakeLists.txt
+0-5openmp/CMakeLists.txt
+63-794 files

LLVM/project 23723a5llvm/lib/Target/AMDGPU AMDGPURegBankCombiner.cpp, llvm/test/CodeGen/AMDGPU global-saddr-load.ll

PR feedback, fix tests
DeltaFile
+24-90llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
+12-14llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+36-1042 files

LLVM/project 4119054llvm/lib/Target/AMDGPU AMDGPURegBankCombiner.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel load-d16.ll

[AMDGPU][True16] Add regbank combiner cases to fix regression around G_SEXTLOAD
DeltaFile
+63-165llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+17-2llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+80-1672 files

LLVM/project 41205bellvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp

Update comment around destination reg size for clarity
DeltaFile
+5-1llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+5-11 files

LLVM/project 7012c76llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU global-saddr-load.ll

Add legalize rules and fix tests
DeltaFile
+165-63llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+90-24llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
+6-9llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
+7-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+268-984 files

LLVM/project 1bd4457clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGenOpenCL vector.cl

[CIR] Implement TernaryOp for Vec of float in OpenCL (#198846)

Implement support for TernaryOp for Vec float in OpenCL

Issue https://github.com/llvm/llvm-project/issues/192311
DeltaFile
+33-1clang/test/CIR/CodeGenOpenCL/vector.cl
+15-9clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+48-102 files

LLVM/project 83590ddllvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU flat-saddr-load.ll

[AMDGPU][True16] Legalize extloads into 16-bit registers

Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
DeltaFile
+80-38llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
+2-2llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+82-402 files

LLVM/project 3260fd7llvm/test/CodeGen/AMDGPU/GlobalISel legalize-sextload-zextload-s16-true16.mir legalize-sextload-s16-true16.mir

PR feedback
DeltaFile
+0-376llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-zextload-s16-true16.mir
+87-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
+5-1llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+92-3773 files

LLVM/project bbfe1b5llvm/test/CodeGen/AMDGPU/GlobalISel legalize-sextload-zextload-s16-true16.mir

[AMDGPU][True16] Create tests that will demonstrate true16 G_SEXTLOAD/G_ZEXTLOAD legalization changes
DeltaFile
+376-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-zextload-s16-true16.mir
+376-01 files

LLVM/project 81de6d0clang-tools-extra/clang-doc Representation.h

[clang-doc][nfc] Reformat and revise comment block (#190428)
DeltaFile
+35-22clang-tools-extra/clang-doc/Representation.h
+35-221 files

LLVM/project 790fef7flang/lib/Optimizer/OpenMP LowerWorkdistribute.cpp, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[mlir][OpenMP] Add iterator support to motion clauses

Extend omp.target_data, omp.target_enter_data, omp.target_exit_data,
and omp.target_update to support `!omp.iterated<Ty>`.

This is part of feature work for #188061

Assisted with copilot
DeltaFile
+128-21mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+100-1mlir/test/Dialect/OpenMP/ops.mlir
+83-0mlir/test/Target/LLVMIR/openmp-todo.mlir
+38-4mlir/test/Dialect/OpenMP/invalid.mlir
+19-18flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
+14-3mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+382-475 files not shown
+403-6111 files

LLVM/project 29794b9mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp, mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

Add verifier check for iterated map info and tests for declare mapper
DeltaFile
+92-75mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+112-4mlir/test/Dialect/OpenMP/invalid.mlir
+24-0mlir/test/Target/LLVMIR/openmp-todo.mlir
+18-0mlir/test/Dialect/OpenMP/ops.mlir
+6-0mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+252-795 files

LLVM/project 0e23a7cclang-tools-extra/clang-doc BitcodeWriter.cpp BitcodeWriter.h

[clang-doc] Use const and constexpr arrays in BitcodeWriter (#198066)

We have three static data structures in the BitcodeWriter implementation
that all use std::vector. Instead, we can make them constant arrays.
These data structures and their types are also not in the anonymous
namespace, so just move these helpers out of the clang::doc namespace
and improve the hygiene since we're changing the code anyway.
DeltaFile
+88-70clang-tools-extra/clang-doc/BitcodeWriter.cpp
+1-1clang-tools-extra/clang-doc/BitcodeWriter.h
+89-712 files

LLVM/project 3a01ff6clang-tools-extra/clang-doc JSONGenerator.cpp MDMustacheGenerator.cpp, clang-tools-extra/clang-doc/support Utils.h File.cpp

[clang-doc] Fix file header style (#190437)

Since we're fixing headers, we can also improve the file documentation
to follow the llvm coding standard.
DeltaFile
+16-0clang-tools-extra/clang-doc/JSONGenerator.cpp
+8-0clang-tools-extra/clang-doc/support/Utils.h
+6-0clang-tools-extra/clang-doc/support/File.cpp
+6-0clang-tools-extra/clang-doc/support/File.h
+6-0clang-tools-extra/clang-doc/support/Utils.cpp
+4-1clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
+46-16 files

FreeBSD/src 8532b4alibexec/rc/rc.d virtual_oss

rc: virtual_oss: Create a loopback device in the default configuration

The loopback device allows us to record desktop sound by reading from
it, or even use it as an input device, for example during a call.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    emaste
Pull-Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/16
DeltaFile
+1-0libexec/rc/rc.d/virtual_oss
+1-01 files

LLVM/project a5a3e13llvm/test/tools/llubi int_arith.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Fix poison handling of shr exact with zero LHS (#199070)

When the LHS is zero, and the exact flag is set on lshr/ashr, llubi
cannot yield poison as `LHS.countr_zero() + 1` is larger than the bit
width.
Closes https://github.com/llvm/llvm-project/issues/198870.

---------

Co-authored-by: John Regehr <regehr at cs.utah.edu>
DeltaFile
+6-6llvm/tools/llubi/lib/Interpreter.cpp
+4-0llvm/test/tools/llubi/int_arith.ll
+10-62 files

LLVM/project a0a2d20clang-tools-extra/clang-doc Representation.h

[clang-doc][nfc] Reformat and revise comment block
DeltaFile
+35-22clang-tools-extra/clang-doc/Representation.h
+35-221 files

FreeBSD/ports 092f804. GIDs

GIDs: Mark 43 as used by the audio group

src commit 6024e3f99a1e ("Add audio group") introduced GID_AUDIO with
this GID.

Sponsored by:   The FreeBSD Foundation
Reviewed by:    emaste
Pull-Request:   https://ron-dev.freebsd.org/FreeBSD/ports/pulls/14
DeltaFile
+1-0GIDs
+1-01 files

FreeBSD/src 5f904cbusr.sbin/virtual_oss/virtual_oss main.c virtual_oss.8

virtual_oss(8): Create loopback devices with GID_AUDIO

Make sure the user is part of the audio group to avoid unintended
snooping of loopback audio by unprivileged users.

While here, retire voss_dsp_perm, since we don't use the same value
everywhere now.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Reviewed by:    emaste
Pull-Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/26
DeltaFile
+22-5usr.sbin/virtual_oss/virtual_oss/main.c
+3-1usr.sbin/virtual_oss/virtual_oss/virtual_oss.8
+25-62 files