LLVM/project 0b3934dllvm/lib/Transforms/Scalar SROA.cpp, llvm/test/Transforms/SROA basictest.ll sroa-common-type-fail-promotion.ll

[SROA] Avoid redundant `.oldload` generation when `memset` fully covers a partition (#179643)

In our internal (ByteDance) builds we frequently hit very large
`DeadPhiWeb`s that cause serious compile-time slowdowns, especially in
some auto-generated code where a single file can take 20+ minutes to
compile. There were previous attempts to reduce `DeadPhiWeb` in
`InstCombine` (e.g. llvm/llvm-project#108876 and
llvm/llvm-project#158057), but in our workload we still see a lot of
time spent later in the pipeline (notably `JumpThreading` and
`CorrelatedValuePropagation`).

After digging into our cases, a big chunk of the `DeadPhiWeb` comes from
SROA rewriting `memset`s. We often end up with patterns like:
```
%.sroa.xxx.oldload = load <ty>, ptr %.sroa.xxx
%unused = ptrtoint ptr %.sroa.xxx.oldload to i64   ; or a bitcast-like use
store <ty> <new_value>, ptr %.sroa.xxx
```
Even if `%unused` is cleaned up by later DCE-style passes, the

    [33 lines not shown]
DeltaFile
+7-9llvm/test/Transforms/SROA/basictest.ll
+2-2llvm/lib/Transforms/Scalar/SROA.cpp
+0-2llvm/test/Transforms/SROA/sroa-common-type-fail-promotion.ll
+9-133 files

LLVM/project 8ab2946clang/lib/CodeGen CGExpr.cpp, clang/test/CodeGenOpenCL fpmath.cl sqrt-fpmath.cl

[OpenCL] Set half-precision Div and Sqrt accuracy (#179621)

OpenCL spec relaxed half-precision divide to 1 ULP and sqrt to 1.5 ULP
in https://github.com/KhronosGroup/OpenCL-Docs/pull/1293
https://github.com/KhronosGroup/OpenCL-Docs/pull/1386
This can enable target to use hardware rcp instruction for half.
DeltaFile
+41-3clang/test/CodeGenOpenCL/fpmath.cl
+13-7clang/test/CodeGenOpenCL/sqrt-fpmath.cl
+8-6clang/lib/CodeGen/CGExpr.cpp
+62-163 files

FreeBSD/src 144c1edsys/fs/nfs nfsproto.h

nfs: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the final patch in the series that enables
the extension of NFSv4.2 to support POSIX draft ACLs.
At this time, only UFS mounted with the "acls" option
will work, and only for FreeBSD built with these patches.
Patches for client and server for the Linux kernel are
in the works.  (I'll admit my next little project is
cleaning the Linux patches up for submission for upstream.)

To make these changes really useful, the FreeBSD port
of OpenZFS needs to be patched to add POSIX draft ACL
support.  (Support for POSIX draft ACLs is already in
the Linux port of OpenZFS.)


    [4 lines not shown]
DeltaFile
+13-3sys/fs/nfs/nfsproto.h
+13-31 files

FreeBSD/src dccf41dsys/fs/nfs nfs_commonsubs.c nfs_var.h, sys/fs/nfsclient nfs_clrpcops.c

nfs: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the fifth of several patches that implement the
above draft.

This one mostly adds an extra argument to two functions
in nfscommon.ko.  Unfortunately, these functions are
called in many places, so the changes are numerous, but
straightforward.

Since the internal KAPI between the NFS modules is changed
by this commit, all of nfscommon.ko, nfscl.ko and nfsd.ko
must be rebuilt from sources.

There should be no semantics change for the series at

    [3 lines not shown]
DeltaFile
+22-29sys/fs/nfs/nfs_commonsubs.c
+18-14sys/fs/nfsclient/nfs_clrpcops.c
+14-14sys/fs/nfsserver/nfs_nfsdport.c
+5-5sys/fs/nfs/nfs_var.h
+2-2sys/fs/nfsserver/nfs_nfsdserv.c
+1-1sys/fs/nfs/nfs_commonacl.c
+62-653 files not shown
+65-689 files

FreeBSD/src d842c51sys/fs/nfs nfs_var.h, sys/fs/nfsclient nfs_clrpcops.c nfs_clvnops.c

nfscl: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the fourth of several patches that implement the
above draft.

There should be no semantics change for the series at
this point.

(cherry picked from commit 0e724de9ed6f2d2914cb79686a4ceee7f6dd31a1)
DeltaFile
+53-16sys/fs/nfsclient/nfs_clrpcops.c
+45-15sys/fs/nfsclient/nfs_clvnops.c
+7-5sys/fs/nfs/nfs_var.h
+105-363 files

FreeBSD/src 2eddaebsys/fs/nfs nfs_commonsubs.c nfs_commonacl.c

nfscommon: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the third of several patches that implement the
above draft.

There should be no semantics change for the series at
this point.

(cherry picked from commit 949cff4dceffdbee70fa7741c1d61cf6c5255aeb)
DeltaFile
+249-23sys/fs/nfs/nfs_commonsubs.c
+193-2sys/fs/nfs/nfs_commonacl.c
+3-0sys/fs/nfs/nfs_var.h
+445-253 files

FreeBSD/src 20bfa56sys/fs/nfs nfs_var.h, sys/fs/nfsserver nfs_nfsdserv.c nfs_nfsdport.c

nfsd: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the second of several patches that implement the
above draft.

The only semantics change would be if you have exported
a UFS file system mounted with the "acl" option.
In that case, you would see the acl attribute supported.
This is bogus, but will be handled in the next commit.

(cherry picked from commit 8e3fd450cc53d37fcf4e7f460f559d03c22c0d84)
DeltaFile
+64-22sys/fs/nfsserver/nfs_nfsdserv.c
+72-12sys/fs/nfsserver/nfs_nfsdport.c
+28-10sys/fs/nfsserver/nfs_nfsdsubs.c
+8-7sys/fs/nfs/nfs_var.h
+172-514 files

FreeBSD/src e00ce2fsys/fs/nfs nfsproto.h nfs_commonport.c

nfscommon: Add some support for POSIX draft ACLs

An internet draft (expected to become an RFC someday)
https://datatracker.ietf.org/doc/draft-ietf-nfsv4-posix-acls
describes an extension to NFSv4.2 to handle POSIX draft ACLs.

This is the first of several patches that implement the
above draft.

This patch should not result in a semantics change.

(cherry picked from commit a35bbd5d9f5f887a6f3de15cfe61fcc73fe22dc8)
DeltaFile
+29-1sys/fs/nfs/nfsproto.h
+20-0sys/fs/nfs/nfs_commonport.c
+5-0sys/fs/nfs/nfs.h
+2-0sys/fs/nfs/nfs_var.h
+56-14 files

LLVM/project 07ebb18llvm/test/tools/llvm-profgen coff-profile.test, llvm/test/tools/llvm-profgen/Inputs coff-profile.pdb coff-profile.exe

[llvm-profgen] Support loading symbols from symtab for COFF (#179175)

PE has strict size constraints. The DWARF sections can occupy a
significant amount of spaces. When using pseudo probe, the symtab
already contains all the required info except symbol size. This
patch teachs llvm-profgen to load symbol size from PDB file.
DeltaFile
+43-17llvm/tools/llvm-profgen/ProfiledBinary.cpp
+7-0llvm/test/tools/llvm-profgen/coff-profile.test
+0-0llvm/test/tools/llvm-profgen/Inputs/coff-profile.pdb
+0-0llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
+50-174 files

HardenedBSD/src 053da20sys/dev/ufshci ufshci_dev.c ufshci_private.h, sys/net bpf.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+24-33sys/dev/ufshci/ufshci_dev.c
+0-3sys/dev/ufshci/ufshci_private.h
+1-1sys/netpfil/ipfilter/netinet/fil.c
+1-1sys/net/bpf.c
+26-384 files

FreeBSD/ports 8355bb0x11/py-nwg-displays distinfo Makefile

x11/py-nwg-displays: Update to 0.3.27

Changelog: https://github.com/nwg-piotr/nwg-displays/releases/tag/v0.3.27

Reported by:    GitHub (watch releases)
DeltaFile
+3-3x11/py-nwg-displays/distinfo
+1-1x11/py-nwg-displays/Makefile
+4-42 files

LLVM/project b207a86clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Add static_local attribute to GlobalOp and GetGlobalOp

This attribute marks function-local static variables that require
guarded initialization (e.g., C++ static local variables with
non-constant initializers). It is used by CIRGen to communicate
to LoweringPrepare which globals need guard variable emission.
DeltaFile
+19-0clang/test/CIR/IR/static-local.cir
+16-0clang/test/CIR/IR/invalid-static-local.cir
+14-1clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+53-14 files

LLVM/project ec968declang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

[CIR][LoweringPrepare] Emit guard variables for static local initialization

This implements the lowering of static local variables with the Itanium C++ ABI
guard variable pattern in LoweringPrepare.

When a GlobalOp has the static_local attribute and a ctor region, this pass:
1. Creates a guard variable global (mangled name from AST)
2. Inserts the guard check pattern at each GetGlobalOp use site:
   - Load guard byte with acquire ordering
   - If zero, call __cxa_guard_acquire
   - If acquire returns non-zero, inline the ctor region code
   - Call __cxa_guard_release
3. Clears the static_local attribute and ctor region from the GlobalOp
DeltaFile
+398-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+33-0clang/test/CIR/CodeGen/static-local.cpp
+1-0clang/include/clang/CIR/MissingFeatures.h
+432-13 files

LLVM/project d1ba875clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/lib/CIR/CodeGen CIRGenDecl.cpp CIRGenItaniumCXXABI.cpp

[CIR] Add CIRGen support for static local variables with non-constant initializers

This adds CIRGen infrastructure for C++ function-local static variables
that require guarded initialization (Itanium C++ ABI).

Changes:
- Add ASTVarDeclAttr to carry VarDecl AST through the pipeline
- Add emitGuardedInit() to CIRGenCXXABI for guarded initialization
- Add emitCXXGuardedInit() to CIRGenFunction
- Replace NYI in addInitializerToStaticVarDecl() with ctor region emission
- Set static_local attribute on GlobalOp and GetGlobalOp

The global's ctor region contains the initialization code, which will be
lowered by LoweringPrepare to emit the actual guard variable pattern with
__cxa_guard_acquire/__cxa_guard_release calls.
DeltaFile
+49-0clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+30-0clang/test/CIR/CodeGen/static-local.cpp
+13-3clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+15-0clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+14-0clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
+7-0clang/lib/CIR/CodeGen/CIRGenCXXABI.h
+128-36 files not shown
+140-712 files

LLVM/project c498fcfclang/include/clang/CIR/Interfaces ASTAttrInterfaces.td ASTAttrInterfaces.h, clang/lib/CIR/Interfaces ASTAttrInterfaces.cpp CMakeLists.txt

[CIR] Add ASTVarDeclInterface for AST attribute access

Add the ASTVarDeclInterface which provides methods to access clang AST
VarDecl information from CIR attributes. This interface enables:
- mangleStaticGuardVariable: Mangle guard variable names using clang's
  MangleContext
- isLocalVarDecl: Check if a variable is function-local
- getTLSKind: Get thread-local storage kind
- isInline: Check if the variable is inline
- getTemplateSpecializationKind: Get template specialization info
- getVarDecl: Direct access to the underlying VarDecl pointer

This infrastructure is needed for proper handling of static local
variables with guard variables in LoweringPrepare.
DeltaFile
+51-0clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
+22-0clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
+21-0clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
+9-0clang/include/clang/CIR/Interfaces/CMakeLists.txt
+2-0clang/lib/CIR/Interfaces/CMakeLists.txt
+105-05 files

HardenedBSD/ports d93c616devel/hs-ghcup distinfo Makefile, games/veloren-weekly distinfo Makefile.crates

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+413-0devel/hs-ghcup/distinfo
+170-0devel/hs-ghcup/Makefile
+81-87games/veloren-weekly/distinfo
+14-95games/veloren-weekly/files/patch-gilrs
+39-42games/veloren-weekly/Makefile.crates
+39-41net-mgmt/nagios4/Makefile
+756-26562 files not shown
+1,247-59268 files

LLVM/project d0f9373mlir/lib/Dialect/GPU/Pipelines GPUToXeVMPipeline.cpp

[mlir][gpu][pipeline] Add missing passes in XeGPU to XeVM pipeline (#179320)

DeltaFile
+17-7mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
+17-71 files

LLVM/project 17eac11llvm/test/Instrumentation/MemorySanitizer/AArch64 aarch64-bf16-dotprod-intrinsics.ll

[msan][NFCI] Remove redundant tests from aarch64-bf16-dotprod-intrinsics.ll (#178832)

https://github.com/llvm/llvm-project/pull/178510#discussion_r2739401507
requested simplifying test cases by using parameters directly for the
intrinsic calls. Doing that reduces the test case to duplicates of
existing tests, thus this patch deletes the redundant tests.
DeltaFile
+3-299llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
+3-2991 files

LLVM/project bb7d1efllvm/lib/Transforms/Instrumentation MemorySanitizer.cpp

[msan] Add intermediate verbosity instruction dump (#178771)

This patch does not change MSan's instrumentation.

-msan-dump-{heuristic,strict}-instructions currently prints out two
lines per instruction:
1) instruction name only e.g., `call llvm.aarch64.neon.uqsub.v16i8`
2) the full instruction, including actual variables e.g., `%vqsubq_v.i15
= call noundef <16 x i8> @llvm.aarch64.neon.uqsub.v16i8(<16 x i8>
%vext21.i, <16 x i8> splat (i8 1)), !dbg !66`

Option 1) is too sparse for some uses, because it does not contain the
return types or parameter types (although `.v16i8` is part of the
function name in this example, in general, the function name does not
describe the types completely; e.g., `<16 x float>
llvm.x86.avx512.mask.scalef.ps.512(<16 x float>, <16 x float>, <16 x
float>, i16, i32)`). OTOH option 2) can be too verbose because it
contains the actual variables.


    [4 lines not shown]
DeltaFile
+40-0llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+40-01 files

LLVM/project 0ec69a9clang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR][NFC] Cleanup some stale missing features markers (#179822)

This deletes a few missing features markers where the missing code had
actually been implemented and deletes a handful that were not being used
anywhere.
DeltaFile
+0-6clang/include/clang/CIR/MissingFeatures.h
+0-3clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+0-1clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+0-103 files

LLVM/project a3e7183llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in symmetric select folding
DeltaFile
+6-3llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+0-1llvm/utils/profcheck-xfail.txt
+6-42 files

LLVM/project da0d536llvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine zext-bool-add-sub.ll

[InstCombine][profcheck] Fix missing profdata for zext/sext transform and update tests
DeltaFile
+0-49llvm/utils/profcheck-xfail.txt
+8-12llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+1-1llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
+9-623 files

LLVM/project 22b2f0allvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine zext-bool-add-sub.ll

[InstCombine][profcheck] Fix missing profdata for zext transform.
DeltaFile
+17-4llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+9-5llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
+0-1llvm/utils/profcheck-xfail.txt
+26-103 files

LLVM/project 13a6ae0llvm/lib/Transforms/InstCombine InstCombineSelect.cpp InstCombineAndOrXor.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in logical op creation and select folding
DeltaFile
+12-0llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+8-2llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+0-1llvm/utils/profcheck-xfail.txt
+20-33 files

LLVM/project ea56f5allvm/lib/Transforms/InstCombine InstCombineShifts.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Set unknown profile metadata in lshr-to-select folding
DeltaFile
+8-1llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
+0-1llvm/utils/profcheck-xfail.txt
+8-22 files

LLVM/project 6c7f356llvm/lib/Transforms/InstCombine InstCombineCalls.cpp InstCombineSelect.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in clamp folds and fix verifier errors
DeltaFile
+18-5llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+5-4llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+0-1llvm/utils/profcheck-xfail.txt
+23-103 files

LLVM/project 3ea8a1allvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in nested select folding
DeltaFile
+6-2llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+1-1llvm/utils/profcheck-xfail.txt
+7-32 files

LLVM/project 8802dd0llvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Comprehensive fix for missing profile metadata in libcall simplifications
DeltaFile
+50-22llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+0-1llvm/utils/profcheck-xfail.txt
+50-232 files

LLVM/project 0243197llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in select factorization folding
DeltaFile
+12-12llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+0-1llvm/utils/profcheck-xfail.txt
+12-132 files

LLVM/project 43d2b69llvm/lib/Transforms/InstCombine InstCombineShifts.cpp InstCombineAddSub.cpp, llvm/utils profcheck-xfail.txt

InstCombine: Propagate profile metadata in shift-of-select folding
DeltaFile
+8-2llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
+3-0llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+2-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+0-1llvm/utils/profcheck-xfail.txt
+13-44 files