LLVM/project f341dabclang/include/clang/Basic DiagnosticCommonKinds.td, clang/lib/Basic/Targets RISCV.cpp RISCV.h

[clang][RISCV][Zicfilp] Force user to use `-mcf-branch-label-scheme=unlabeled` (#152122)

Expected Behavior:

When `-fcf-protection=branch|full` is specified, it's an error to omit
`-mcf-branch-label-scheme=unlabeled`.

Context:

When using forward-edge control flow integrity feature based on the
RISC-V Zicfilp extension, the `-mcf-branch-label-scheme` option selects
the encoding scheme used in the landing pad labels. The spec defines 2
schemes: `func-sig` and `unlabeled`, with the former specified as the
default. However the `func-sig` backend is still under active
development and won't land anytime soon; in the meanwhile, the
`unlabeled` scheme almost has complete support in the toolchain now.

Given that Clang currently accepts and defaults to
`-mcf-branch-label-scheme=func-sig` but doesn't work correctly, we want

    [7 lines not shown]
DeltaFile
+20-17clang/test/CodeGen/RISCV/riscv-cf-protection.c
+28-0clang/lib/Basic/Targets/RISCV.cpp
+1-9clang/lib/Basic/Targets/RISCV.h
+2-0clang/include/clang/Basic/DiagnosticCommonKinds.td
+51-264 files

LLVM/project e41928dllvm/test/CodeGen/AMDGPU memory-legalizer-av-none.ll

added tests that mix synchronize-as and av-none
DeltaFile
+75-5llvm/test/CodeGen/AMDGPU/memory-legalizer-av-none.ll
+75-51 files

LLVM/project 238bd57llvm/lib/Target/AArch64 SVEInstrFormats.td AArch64InstrFormats.td

[AArch64][TG] Migrate AArch64 backend from !cond to !switch(NFC) (#200949)

Making exact matches more compact. The \!switch operator has been
introduced by: https://github.com/llvm/llvm-project/pull/199659
DeltaFile
+81-81llvm/lib/Target/AArch64/SVEInstrFormats.td
+4-4llvm/lib/Target/AArch64/AArch64InstrFormats.td
+85-852 files

LLVM/project 1c54625mlir/docs Tokens.md

Update mlir/docs/Tokens.md

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
DeltaFile
+2-1mlir/docs/Tokens.md
+2-11 files

LLVM/project 8e5b8dbmlir/include/mlir/IR BuiltinOps.td

drop unrealized_conversion_cast change
DeltaFile
+3-3mlir/include/mlir/IR/BuiltinOps.td
+3-31 files

LLVM/project 1290ce6mlir/docs Tokens.md, mlir/include/mlir/Dialect/LLVMIR LLVMIntrinsicOps.td

infer token traits
DeltaFile
+14-14mlir/test/IR/token-type.mlir
+16-9mlir/test/lib/Dialect/Test/TestOps.td
+13-0mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+7-2mlir/docs/Tokens.md
+4-4mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+3-3mlir/lib/IR/Verifier.cpp
+57-323 files not shown
+60-409 files

LLVM/project 2b211f1mlir/test/Dialect/Builtin/Bytecode builtin_fixed_0.mlirbc

regenerate bytecode
DeltaFile
+0-0mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
+0-01 files

LLVM/project c65bd7dmlir/docs/Dialects LLVM.md, mlir/lib/IR Verifier.cpp

address comments
DeltaFile
+5-9mlir/lib/IR/Verifier.cpp
+1-2mlir/docs/Dialects/LLVM.md
+6-112 files

LLVM/project 591fdc2mlir/docs Tokens.md

call out IsolatedFromAbove restriction
DeltaFile
+4-0mlir/docs/Tokens.md
+4-01 files

LLVM/project b419f23mlir/docs Tokens.md

address comments
DeltaFile
+2-3mlir/docs/Tokens.md
+2-31 files

LLVM/project 1f5ca34mlir/docs Tokens.md LangRef.md

move structural contract to LangRef
DeltaFile
+20-40mlir/docs/Tokens.md
+27-6mlir/docs/LangRef.md
+47-462 files

LLVM/project 1fb2857mlir/docs Tokens.md LangRef.md

address comments: symbols / IsolatedFromAbove
DeltaFile
+6-1mlir/docs/Tokens.md
+1-2mlir/docs/LangRef.md
+7-32 files

LLVM/project 6514925mlir/docs Tokens.md LangRef.md

rewrite design contract
DeltaFile
+13-9mlir/docs/Tokens.md
+9-2mlir/docs/LangRef.md
+22-112 files

LLVM/project 1cfd863mlir/docs Tokens.md, mlir/lib/Conversion/AsyncToLLVM AsyncToLLVM.cpp

[mlir][IR] Add builtin `TokenTypeInterface`

type instead of type interface

add bytecode
DeltaFile
+104-0mlir/docs/Tokens.md
+60-0mlir/test/IR/token-type.mlir
+36-24mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
+18-17mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
+30-0mlir/test/lib/Dialect/Test/TestOps.td
+12-12mlir/test/Dialect/SparseTensor/invalid.mlir
+260-5324 files not shown
+365-9530 files

LLVM/project f7ca4b6mlir/include/mlir/Dialect/LLVMIR LLVMIntrinsicOps.td LLVMOps.td, mlir/lib/Dialect/LLVMIR/IR LLVMTypeSyntax.cpp LLVMTypes.cpp

remove LLVM token type
DeltaFile
+23-37mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
+15-10mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+11-11mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+9-9mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+7-7mlir/test/Target/LLVMIR/Import/intrinsic.ll
+6-7mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+71-8112 files not shown
+94-10918 files

LLVM/project 9a09e17mlir/docs Tokens.md

Update mlir/docs/Tokens.md

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
DeltaFile
+2-0mlir/docs/Tokens.md
+2-01 files

LLVM/project 4ece98amlir/docs Tokens.md, mlir/docs/Traits _index.md

[mlir][IR] Require token producer and consumer traits

Add marker traits for operations that intentionally produce or consume the
builtin token type. The verifier now rejects token results without
TokenProducerTrait, token operands without TokenConsumerTrait, token entry
block arguments whose parent op does not produce tokens, and token block
arguments outside entry blocks.

Extend the Test dialect token ops to cover valid opt-in cases and each
verifier rejection path.

Assisted-by: Codex
DeltaFile
+100-2mlir/test/IR/token-type.mlir
+93-3mlir/lib/IR/Verifier.cpp
+28-3mlir/test/lib/Dialect/Test/TestOps.td
+14-7mlir/docs/Tokens.md
+14-0mlir/docs/Traits/_index.md
+12-0mlir/include/mlir/IR/OpDefinition.h
+261-152 files not shown
+268-168 files

LLVM/project 57f9c13mlir/docs Tokens.md LangRef.md, mlir/include/mlir/IR CommonTypeConstraints.td

address comments
DeltaFile
+17-21mlir/docs/Tokens.md
+2-17mlir/test/IR/token-type.mlir
+1-8mlir/include/mlir/IR/CommonTypeConstraints.td
+0-7mlir/test/lib/Dialect/Test/TestOps.td
+2-1mlir/docs/LangRef.md
+22-545 files

LLVM/project 969f641llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanRecipes.cpp

[VPlan] Replace VPTypeAnalysis with VPValue::getScalarType. (NFC) (#200256)

Now that all VPValues have their scalar type set at construction,
replace calls to VPTypeAnalysis::inferScalarType with direct calls to
VPValue::getScalarType, and remove the no-longer-needed VPTypeAnalysis
members from VPCostContext and VPTransformState. Also remove the
getScalarTypeOrInfer fallback helper.

Depends on https://github.com/llvm/llvm-project/pull/200255 

PR: https://github.com/llvm/llvm-project/pull/200256
DeltaFile
+170-235llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+73-87llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+15-24llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+0-28llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
+9-18llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+8-15llvm/lib/Transforms/Vectorize/VPlan.h
+275-4078 files not shown
+307-46714 files

OPNSense/core bd4f4c5src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatMode.xml

make sweep
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatMode.xml
+1-11 files

OPNSense/core 75d6784src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

Firewall: NAT: Set source NAT specific form and API call behind volt templating conditions
DeltaFile
+5-2src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+5-21 files

LLVM/project bbc8fcbllvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize reduction-with-invariant-store.ll

[VPlan] Fix assertion when VPReductionPHIRecipe is simplified (#201023)

When replacing an invariant store of a reduction, we assert that the
stored value is the backedge value. However in some cases the
VPReductionPHIRecipe may be simplified away completely, so account for
this.

Fixes #201020
Fixes #200742
DeltaFile
+36-0llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
+4-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+40-32 files

LLVM/project bae4566compiler-rt/lib/sanitizer_common sanitizer_common_interceptors.inc sanitizer_common.h, compiler-rt/lib/tsan/rtl tsan_interceptors_posix.cpp

[compiler-rt][sanitizer_common] Generalize CheckNoDeepBind as OnDlOpen (#200748)

Rename the dlopen pre-check hook to OnDlOpen so platform-specific dlopen
handling can be extended beyond the RTLD_DEEPBIND guard on Linux.
Windows and macOS keep no-op implementations. All dlopen interceptors
call the shared hook.
DeltaFile
+5-2compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+2-2compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+3-1compiler-rt/lib/sanitizer_common/sanitizer_common.h
+1-1compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+1-1compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
+1-1compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
+13-81 files not shown
+14-97 files

OPNSense/core a29c789src/etc/inc/plugins.inc.d ntpd.inc

network time: small cleanups in ntpd_configure_gps()

(cherry picked from commit 95bedd865b0451128c1d4163010bf30682ab0293)
DeltaFile
+25-25src/etc/inc/plugins.inc.d/ntpd.inc
+25-251 files

OPNSense/core fef0783src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php

mvc: do not translate empty strings

PR: https://github.com/opnsense/core/issues/10369
(cherry picked from commit 92bdd548deaca699fc14651b1f20861f231d0968)
DeltaFile
+4-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+4-11 files

OPNSense/core 4c5c335src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes SNatModeField.php

Firewall: NAT: Add setMode endpoint for saving the snat_mode via the reconfigureAct
DeltaFile
+21-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+17-1src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+0-1src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SNatModeField.php
+38-23 files

OPNSense/core ca9cf84src/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml

system: sync ACL name

PR: https://github.com/opnsense/core/issues/9471
(cherry picked from commit 524440c0c66347bb50edbf691bb1633b7a350ead)
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+1-11 files

OPNSense/core 3c1c5afsrc/opnsense/mvc/app/models/OPNsense/Firewall Alias.xml

mvc: OptionField: allow empty values in options

This falls back to the key which isn't going to be translated
since it's likely a technical term or keyword.

Also translate the $subvalue which appears to have been missed
before.

(cherry picked from commit b187227683de93cb705d6290090aaa708354edf1)
DeltaFile
+5-5src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.xml
+5-51 files

LLVM/project c3ea53cllvm/test/Transforms/LoopVectorize/ARM mve-interleaved-cost.ll, llvm/test/Transforms/LoopVectorize/RISCV interleaved-cost.ll

[VPlan] Don't print interleave group insert position. (#200023)

This patch updates interleave group printing to drop the insert
position. It does not add any information (the position of the
interleave group is determined by the position in VPlan), and for stores
we currently were printing <badref> anyways (trying to print a value
with void type).

PR: https://github.com/llvm/llvm-project/pull/200023
DeltaFile
+248-248llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
+146-141llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
+58-58llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
+26-26llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
+26-26llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
+26-26llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
+530-525104 files not shown
+1,937-1,936110 files

LLVM/project 4b212e5llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/AArch64 transform-narrow-interleave-to-widen-memory-metadata.ll

[VPlan] Propagate interleave-group metadata to narrowed wide load/store. (#199356)

VPInterleaveRecipe now carries the common metadata valid for all members
and as such hold for any member. Propagate it to narrowed load and
stores.

PR: https://github.com/llvm/llvm-project/pull/199356
DeltaFile
+9-6llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
+2-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-82 files