LLVM/project 3e6304c — clang/docs LanguageExtensions.md, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.md
+56-193 files not shown
+60-199 files

LLVM/project b42d096 — clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files

LLVM/project 4f6dcf9 — clang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncoding.cpp
+12-112 files

LLVM/project de64dd5 — clang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+3-1clang/test/CodeGen/systemz-charset.cpp
+2-1clang/lib/Lex/TextEncoding.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+20-25 files

LLVM/project ea79a25 — clang-tools-extra/clang-tidy/utils FormatStringConverter.cpp, clang/lib/AST PrintfFormatString.cpp ScanfFormatString.cpp

Add isNoop to avoid conversion code in ActOnGCCAsmStmtString
DeltaFile
+41-31clang/lib/AST/FormatStringParsing.h
+31-31clang/lib/AST/FormatString.cpp
+20-20clang/lib/Sema/SemaChecking.cpp
+14-24clang/lib/AST/ScanfFormatString.cpp
+4-22clang/lib/AST/PrintfFormatString.cpp
+4-5clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
+114-1336 files not shown
+127-13912 files

LLVM/project 5bfd88e — clang/include/clang/AST FormatString.h, clang/lib/AST ScanfFormatString.cpp PrintfFormatString.cpp

do not convert character by character
DeltaFile
+34-31clang/lib/AST/FormatString.cpp
+28-26clang/lib/AST/FormatStringParsing.h
+20-18clang/lib/Sema/SemaChecking.cpp
+8-5clang/lib/AST/PrintfFormatString.cpp
+4-4clang/lib/AST/ScanfFormatString.cpp
+2-2clang/include/clang/AST/FormatString.h
+96-866 files

LLVM/project da3359f — clang/lib/AST FormatString.cpp ScanfFormatString.cpp

change char literals to u8'' to preserve behaviour in the case the
compiler is compiled with a different fexec-charset
DeltaFile
+44-44clang/lib/AST/PrintfFormatString.cpp
+28-28clang/lib/AST/ScanfFormatString.cpp
+28-27clang/lib/AST/FormatString.cpp
+100-993 files

LLVM/project 71075b6 — clang/lib/AST ScanfFormatString.cpp PrintfFormatString.cpp, llvm/include/llvm/Support TextEncoding.h

rename char conversion function to convertBasicChar
DeltaFile
+18-17clang/lib/AST/FormatString.cpp
+12-12clang/lib/AST/PrintfFormatString.cpp
+3-5clang/lib/AST/ScanfFormatString.cpp
+3-1llvm/include/llvm/Support/TextEncoding.h
+36-354 files

LLVM/project d242dcc — clang/lib/AST FormatStringParsing.h ScanfFormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+82-39clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+41-24clang/lib/Sema/SemaChecking.cpp
+28-14clang/lib/AST/ScanfFormatString.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+19-0llvm/lib/Support/TextEncoding.cpp
+241-1289 files not shown
+272-14615 files

LLVM/project 2b6d662 — llvm/lib/Transforms/Scalar LoopPredication.cpp, llvm/test/Transforms/LoopPredication widenable-guard-profitability.ll

[LoopPredication] Check the latch exit block for unreachable

isLoopProfitableToPredicate is meant to refuse predication on a loop latch
that exits into a deoptimize or an unreachable block. The
unreachable check looked at the latch terminator, which is always a
conditional branch, so it never fired. Check the terminator of the latch
exit block instead.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-9llvm/test/Transforms/LoopPredication/widenable-guard-profitability.ll
+1-1llvm/lib/Transforms/Scalar/LoopPredication.cpp
+4-102 files

LLVM/project a4314cc — llvm/test/Transforms/LoopPredication pr61022.ll widenable-guard-profitability.ll

[LoopPredication][NFC] Add test for latch exiting to unreachable

Add a test for predication on a latch check that exits into an
unreachable block. Run pr61022.ll with
-loop-predication-skip-profitability-checks=true, since it tests a crash
rather than profitability.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+75-0llvm/test/Transforms/LoopPredication/widenable-guard-profitability.ll
+1-1llvm/test/Transforms/LoopPredication/pr61022.ll
+76-12 files

LLVM/project 182dfd9 — llvm/lib/Transforms/Scalar LoopPredication.cpp, llvm/test/Transforms/LoopPredication widenable-guard-profitability.ll

[LoopPredication] Ignore exits to deopt in profitability check

LoopPredication refuses to predicate a loop if any exit is more than
twice as likely as the latch exit, so that a widened check does not fail
when the loop would have left through an earlier exit. It also counts
exits to deopt, including the deopt exits of the guards being predicated.
An exit to deopt cannot cause such a spurious failure: if it is taken,
the loop deoptimizes with or without predication.

If every guard has a fixed, very small failure probability, e.g. weights
{983040, 1}, then with exits to deopt counted, a loop with a guard is
never predicated if it runs more than ~1.97M iterations per entry. The
range check then stays inside the loop and blocks its vectorization.

Skip exits to deopt in the profitability check. BranchProbabilityInfo
already treats them as practically never taken. This deliberately
includes deopt exits that the profile shows as frequently taken, since
they deoptimize with or without predication too. Exits to non-deopt
blocks still compete with the latch exit.

    [2 lines not shown]
DeltaFile
+93-33llvm/test/Transforms/LoopPredication/widenable-guard-profitability.ll
+5-0llvm/lib/Transforms/Scalar/LoopPredication.cpp
+98-332 files

LLVM/project 3d7bfd5 — llvm/test/Transforms/LoopPredication widenable-guard-profitability.ll

[LoopPredication][NFC] Add tests for guard profitability in long-running loops

Add tests for profitability of predicating guards whose exits to deopt
are more likely than the latch exit in a long-running loop.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+865-0llvm/test/Transforms/LoopPredication/widenable-guard-profitability.ll
+865-01 files

LLVM/project 0b21b1b — clang/include/clang/Lex TextEncoding.h, clang/lib/Lex TextEncoding.cpp

reverse conversion from literal encoding for assembler template string
DeltaFile
+27-0clang/lib/Sema/SemaStmtAsm.cpp
+8-0clang/lib/Lex/TextEncoding.cpp
+7-0clang/include/clang/Lex/TextEncoding.h
+5-1clang/test/CodeGen/systemz-charset.cpp
+47-14 files

LLVM/project 52d07e0 — clang/include/clang/Basic DiagnosticFrontendKinds.td, clang/lib/Frontend CompilerInvocation.cpp

Revert "[HLSL] Use icmp ne instead of trunc on boolean load" (#233518)

Reverts llvm/llvm-project#221105

This breaks build bots:
https://lab.llvm.org/buildbot/#/builders/225/builds/22453

https://github.com/llvm/llvm-project/pull/221105#issuecomment-6273623231
DeltaFile
+30-15clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
+0-19clang/test/CodeGenHLSL/bool-vector-load.hlsl
+8-7clang/test/CodeGenHLSL/strict-bool.hlsl
+0-10clang/lib/Frontend/CompilerInvocation.cpp
+0-3clang/test/Driver/HLSL/load-bool-from-mem.hlsl
+0-3clang/include/clang/Basic/DiagnosticFrontendKinds.td
+38-571 files not shown
+38-587 files

LLVM/project 4297578 — clang/docs ReleaseNotes.md, clang/lib/AST ASTContext.cpp

[Clang] Fix template template param matching with constant template params of reference type. (#227290)

When matching a template template argument, we synthesized an argument
for each constant template parameters in a way that was not consistent
with Sema::BuildDeclarationNameExpr, causing an assertion failure in
ClassifyExpr.

This fixes a regression introduced by #124137

Assisted-By: Opus 5.5
DeltaFile
+47-0clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+6-4clang/lib/AST/ASTContext.cpp
+7-0clang/docs/ReleaseNotes.md
+60-43 files

LLVM/project 58082a6 — offload/languages/kernel/include Stream.h LanguageUtils.h, offload/languages/kernel/src State.cpp LanguageLaunch.cpp

add event cleanup
DeltaFile
+83-0offload/languages/kernel/src/Stream.cpp
+42-26offload/languages/kernel/include/LanguageUtils.h
+19-23offload/languages/kernel/src/LanguageRuntime.cpp
+19-0offload/languages/kernel/include/Stream.h
+7-8offload/languages/kernel/src/LanguageLaunch.cpp
+6-2offload/languages/kernel/src/State.cpp
+176-592 files not shown
+179-608 files

LLVM/project 2725719 — offload/languages/kernel/include LanguageUtils.h, offload/languages/kernel/src LanguageRuntime.cpp LanguageLaunch.cpp

add blocking semantics to LaunchKernel and Memcpy
DeltaFile
+131-0offload/test/offloading/CUDA/blocking_stream_semantics.cu
+125-0offload/test/offloading/HIP/blocking_stream_semantics.hip
+39-0offload/languages/kernel/include/LanguageUtils.h
+17-3offload/languages/kernel/src/LanguageLaunch.cpp
+11-4offload/languages/kernel/src/LanguageRuntime.cpp
+4-2offload/test/offloading/HIP/stream_api.hip
+327-94 files not shown
+336-1310 files

OPNSense/core 54aa99b — src/opnsense/mvc/app/library/OPNsense/Core Config.php, src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php

Firewall: Aliases - fix performance regression introduced in https://github.com/opnsense/core/pull/8368

The captive portal model is quite expensive to construct and for our aliases we only require the data underneath.

This commit organizes a couple of things, first implement an easier handle to load a random model from disk to test:

```
Config::getInstance()->forceReload('/path/to/test/config.xml');
$before = memory_get_usage();
$start = hrtime(true);

$mdl = new \OPNsense\Firewall\Alias(true);

printf(
    "Alias: %.2f ms, retained PHP memory: %.2f MiB\n",
    (hrtime(true) - $start) / 1e6,
    (memory_get_usage() - $before) / 1048576
);
```

    [4 lines not shown]
DeltaFile
+13-17src/opnsense/mvc/app/models/OPNsense/Firewall/DynamicAliases/CaptivePortalAliases.php
+16-8src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+10-4src/opnsense/mvc/app/library/OPNsense/Core/Config.php
+39-293 files

NetBSD/src H3azXrJ — sys/arch/sparc64/sparc64 autoconf.c

   sun4v: Try to use the hypervisor interrupt api version 1 if version 2 fails.

   Version 3 systems are working ok - trying to fix the setup when a version < 2
   system is used.

   Not tested on yet.
VersionDeltaFile
1.257+10-4sys/arch/sparc64/sparc64/autoconf.c
+10-41 files

LLVM/project aada04d — llvm/test/Transforms/SLPVectorizer/AArch64 store-chain-split-wide-stored-values.ll

[SLP][NFC]Add a test with missing vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233537
DeltaFile
+285-0llvm/test/Transforms/SLPVectorizer/AArch64/store-chain-split-wide-stored-values.ll
+285-01 files

FreeBSD/src 5ce0ab7 — usr.sbin/bhyve gdb.c

bhyve: fix integer overflow in qXfer packet parser

doff + dlen overflows unsigned int when both values are close to UINT_MAX,
causing the wrong branch to execute and passing an unbounded length to
append_binary_data().  Rewrite the comparison to avoid the addition.

Reviewed by:    markj
Fixes:          f81cdf24ba54 ("bhyve: Add support for XML register definitions")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60847
DeltaFile
+1-1usr.sbin/bhyve/gdb.c
+1-11 files

LLVM/project 2bb7dee — llvm/test/Transforms/SLPVectorizer/AArch64 store-chain-split-wide-stored-values.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+285-0llvm/test/Transforms/SLPVectorizer/AArch64/store-chain-split-wide-stored-values.ll
+285-01 files

LLVM/project 1e6dd88 — flang/lib/Semantics openmp-utils.cpp, flang/test/Lower/OpenMP metadirective-user.f90

[flang][OpenMP] Don't treat different runtime conditions as subsets

When two METADIRECTIVE candidates have the same score and one selector is
a strict subset of the other, the superset wins. Flang ranks every
runtime condition with the same property, so isStrictSubset saw
different conditions as the same:

  !$omp metadirective &
  !$omp& when(user={condition(a)}, &
  !$omp&      implementation={vendor(score(4): llvm)}: taskyield) &
  !$omp& when(user={condition(b)}, device={kind(host)}, &
  !$omp&      implementation={vendor(score(3): llvm)}: taskwait)

Both candidates score 5, and `b` was tested first, so TASKWAIT ran when
both conditions were true. Neither selector is a subset of the other, so
clause order should decide.

This patch adds a UserCondition key to VariantMatchInfo, and
isStrictSubset requires equal keys when the first selector has a

    [12 lines not shown]
DeltaFile
+152-0flang/test/Lower/OpenMP/metadirective-user.f90
+37-0llvm/unittests/Frontend/OpenMPContextTest.cpp
+28-3flang/lib/Semantics/openmp-utils.cpp
+7-0llvm/lib/Frontend/OpenMP/OMPContext.cpp
+4-0llvm/include/llvm/Frontend/OpenMP/OMPContext.h
+228-35 files

LLVM/project a4f4956 — clang/lib/CodeGen CGLoopInfo.cpp, clang/lib/CodeGenUtils LoopAttributes.cpp

Merge branch 'main' into revert-221105-issue-140824
DeltaFile
+696-0flang/test/Analysis/AliasAnalysis/alias-analysis-access-path-record-type.fir
+316-0llvm/unittests/ABI/AArch64TargetInfoTest.cpp
+285-0clang/lib/CodeGenUtils/LoopAttributes.cpp
+2-262clang/lib/CodeGen/CGLoopInfo.cpp
+169-42flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+105-103llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+1,573-40778 files not shown
+3,979-88084 files

NetBSD/src UDblXCt — sys/kern exec_elf.c, sys/sys exec_elf.h

   exec_elf: Nix diagnostic messages for all (unknown) fd.o notes.

   Same as for unknown GNU notes.  Shaves off a tiny bit of code in
   non-DIAGNOSTIC builds, saves us some trouble when fd.o invariably
   adds more metadata not relevant to execution semantics.

   PR kern/60901: Unknown elf note type 1081871370
VersionDeltaFile
1.109+7-6sys/kern/exec_elf.c
1.188+8-5sys/sys/exec_elf.h
+15-112 files

FreeBSD/poudriere 3b268b3 — test logging.sh

Merge pull request #1406 from svmhdvn/push-mtxkkmnlwyxk

test/logging.sh: fix check_pids on wrong PID
DeltaFile
+3-1test/logging.sh
+3-11 files

LLVM/project 819dfa4 — flang/include/flang/Optimizer/Analysis AliasAnalysis.h, flang/lib/Optimizer/Analysis AliasAnalysis.cpp

[flang] Respect record type changes in FIR alias analysis access paths (#231655)

pathsDivergeAtComponent compared the component names on the access paths
of two accesses to the same variable step by step. The steps are
collected while walking through views of the variable, and a view may
change the type of the addressed object, so steps at the same index
could select components of different types, and alias analysis returned
NoAlias for accesses to the same memory. This happened for:
- CLASS views and SELECT TYPE selectors of objects of extended types:
  ```fortran
    select type (a => this)    ! this is class(base)
    type is (child)
      a%v(2:4) = this%v(1:3)   ! a%v is a%base%v
    end select
  ```
The paths of a%v and this%v were [base, v] and [v], so InlineHLFIRAssign
turned the assignment into an in-place loop.
- EQUIVALENCE and COMMON members, e.g. x%b and y%d after `equivalence
(x, y)`, where x has the real components a and b, and y has the real

    [47 lines not shown]
DeltaFile
+696-0flang/test/Analysis/AliasAnalysis/alias-analysis-access-path-record-type.fir
+169-42flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+53-0flang/test/HLFIR/inline-hlfir-assign-select-type.fir
+13-2flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
+931-444 files

LLVM/project 7ee7c2f — clang/docs ReleaseNotes.md, clang/lib/Sema SemaChecking.cpp

[Clang] Fix crash on invalid pointer argument to `__builtin_assume_aligned` (#233112)

Fixes #194289

`BuiltinAssumeAligned` reads the type of the converted pointer argument
without checking that `DefaultFunctionArrayLvalueConversion` succeeded.
It fails, after diagnosing, for an overload set that cannot be resolved
(here `baz` is typo-corrected to the enclosing template `bar`), a
function template, or a function whose address cannot be taken, and the
null result was dereferenced. The dependent alignment is not needed; C
hits it too.

Return early when the conversion is invalid, as the code did before
ecdc5289afec dropped the check together with the `checkBuiltinArgument`
call. The error is already reported by the conversion.

LLM tools were used for this contribution, mostly for the tests.
DeltaFile
+10-0clang/test/SemaCXX/builtin-assume-aligned.cpp
+9-0clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
+8-0clang/test/Sema/builtin-assume-aligned.c
+2-0clang/lib/Sema/SemaChecking.cpp
+1-0clang/docs/ReleaseNotes.md
+30-05 files

LLVM/project 734c4ab — llvm/lib/Target/AVR AVRFrameLowering.cpp AVRRegisterInfo.cpp, llvm/test/DebugInfo/AVR lit.local.cfg frame-index-fbreg.ll

[AVR] Fix a crash when generating debug information for frame pointer (#227285)

Closes https://github.com/llvm/llvm-project/issues/227220.
DeltaFile
+109-0llvm/test/DebugInfo/AVR/frame-index-fbreg.ll
+1-6llvm/lib/Target/AVR/AVRRegisterInfo.cpp
+4-3llvm/lib/Target/AVR/AVRISelLowering.cpp
+6-1llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
+6-0llvm/lib/Target/AVR/AVRFrameLowering.cpp
+2-0llvm/test/DebugInfo/AVR/lit.local.cfg
+128-106 files