LLVM/project 4eae56cllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port 672843a3f2ee (#222740)
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project d90d78futils/bazel/llvm-project-overlay/flang/lib/Optimizer/HLFIR/Transforms BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel

Fix bazel builds (#222733)

- For flang/lib/Optimizer/HLFIR/Transforms -- fixes
https://github.com/llvm/llvm-project/pull/222013 by adding missing
dependencies.
- For lldb/source/Plugins:PluginRegisterTypeBuilderClang -- fixes
https://github.com/llvm/llvm-project/pull/220707 by adding missing
dependency
DeltaFile
+2-0utils/bazel/llvm-project-overlay/flang/lib/Optimizer/HLFIR/Transforms/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+3-02 files

LLVM/project 67e86d2clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaOpenCL builtins-amdgcn-error-gfx1250-strict.cl

[AMDGPU] Disable block16 conversions on gfx1250-strict
DeltaFile
+45-0llvm/test/MC/AMDGPU/gfx1250-strict_err.s
+23-21llvm/lib/Target/AMDGPU/VOP3Instructions.td
+17-15llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+15-15clang/include/clang/Basic/BuiltinsAMDGPU.td
+19-1clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-strict.cl
+9-1llvm/lib/Target/AMDGPU/AMDGPU.td
+128-536 files

LLVM/project e286cb0llvm/utils/gn/secondary/llvm/test BUILD.gn

[gn] fix mistake from f3909e073dd93f (#222735)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/test/BUILD.gn
+1-01 files

LLVM/project 833b8a0llvm/lib/CodeGen MachineOutliner.cpp, llvm/test/CodeGen/AArch64 machine-outliner-operand-flags.mir

[AArch64][PAC] Reset `killed` operand flags in outlined functions

Presently, MachineOutliner does not take `killed` operand flags into
account when merging instruction sequences. While it sounds perfectly
reasonable not to inhibit merging of the instruction sequences that
only differ in `killed` flags (for N flags there is technically 2^N
valid ways to drop some subset of them), copying these flags from
an arbitrarily chosen representative instruction may result in
incorrect codegen of PAuth-related pseudo instructions on AArch64.

To keep `killed` flags conservatively correct as if `OUTLINED_FUNCTION`s
are virtually re-inserted at every call site, this patch takes the
simplest approach of resetting every `killed` flag inside the
outlined functions.
DeltaFile
+82-0llvm/test/CodeGen/AArch64/machine-outliner-operand-flags.mir
+1-0llvm/lib/CodeGen/MachineOutliner.cpp
+83-02 files

LLVM/project e47d10flibc/src/wchar wcsncasecmp.h CMakeLists.txt, libc/test/src/wchar wcscasecmp_test.cpp wcsncasecmp_test.cpp

[libc] Add wcscasecmp and wcsncasecmp implementations. (#222154)

Add a helper to wctype_utils.h for three-way comparison of individual
`wchar_t`s. As is the case in existing code, `wchar_t` is presumed to be
UTF-32.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+93-0libc/test/src/wchar/wcsncasecmp_test.cpp
+82-0libc/test/src/wchar/wcscasecmp_test.cpp
+42-0libc/src/wchar/wcsncasecmp.cpp
+38-0libc/src/wchar/wcscasecmp.cpp
+29-0libc/src/wchar/CMakeLists.txt
+27-0libc/src/wchar/wcsncasecmp.h
+311-08 files not shown
+412-014 files

LLVM/project 505ecefllvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp, llvm/test/CodeGen/RISCV ctselect-fallback-gisel.ll ctselect-fallback-scalable.ll

[ConstantTime] Use ARITH_FENCE as the combine barrier in CT_SELECT expansion

Replace the CopyToReg/CopyFromReg vreg barrier in ExpandCTSELECT with
ISD::ARITH_FENCE. The legalizer no longer creates vregs or picks register
classes via getRegClassFor, and scalable vectors are now covered too.
Codegen tests regenerated; output stays branchless.
DeltaFile
+945-702llvm/test/CodeGen/X86/ctselect.ll
+232-144llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+5-25llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+8-0llvm/test/CodeGen/RISCV/ctselect-fallback-scalable.ll
+2-0llvm/test/CodeGen/RISCV/ctselect-fallback-gisel.ll
+1,192-8715 files

LLVM/project dd45915llvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp

[ConstantTime] Move the CT_SELECT expansion into a helper

The CT_SELECT case in ExpandNode was around 180 lines. Move it to
SelectionDAGLegalize::ExpandCTSELECT and name the operands, so the case is
three lines. Pure code motion: emitted assembly is unchanged for every RUN
line of the existing ct.select codegen tests.

Also use a temporary for the promoted SELECT so the call fits on one line
instead of wrapping after the assignment.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+193-185llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+193-1851 files

LLVM/project 3c7e0eellvm/docs LangRef.md, llvm/include/llvm/IR Intrinsics.td

[ConstantTime] Allow dead llvm.ct.select to be removed

An unused llvm.ct.select outlived the InstructionSimplify fold, which kept
both value arguments live and contradicted the LangRef text saying the unused
argument becomes dead code. Add the intrinsic to the wouldInstructionBeTriviallyDead
whitelist next to llvm.allow.runtime.check and llvm.allow.ubsan.check, which
carry IntrInaccessibleMemOnly for the same reason: to pin the call in place,
not to model a real memory access.

Keep IntrInaccessibleMemOnly rather than switching to IntrNoMem. As a pure
value the call is sunk into a conditionally-executed block by InstCombine
(gated on mayWriteToMemory) and split into one copy per branch arm by GVN PRE.

Also correct the undef condition semantics, trim the declaration list, and
drop claims from the definition comment that the memory effect does not
actually provide.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+69-16llvm/test/Transforms/InstSimplify/ct-select.ll
+23-25llvm/docs/LangRef.md
+13-8llvm/include/llvm/IR/Intrinsics.td
+2-1llvm/lib/Transforms/Utils/Local.cpp
+107-504 files

LLVM/project dd175ecllvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp SelectionDAGBuilder.cpp

[ConstantTime] Address reviewer feedback on llvm.ct.select core

- Fix vector-split build error: call the existing SplitRes_Select for
  CT_SELECT instead of the nonexistent SplitRes_CT_SELECT.
- Fix a VP_MERGE result-split regression: the CT_SELECT switch reformat had
  moved ISD::VP_MERGE onto the SplitRes_SELECT_CC line, which reads operand 4
  (out of bounds for VP_MERGE's 4 operands) and builds a SELECT_CC without
  splitting the EVL, crashing or miscompiling any vp.merge whose result
  vector must be split. Restore it to the SplitRes_Select group.
- Accept byte types (bN and vectors of them) in the Verifier and document
  them in LangRef; add byte-typed X86 codegen and Verifier test coverage.
- Drop the redundant `VT0 == MVT::i1` guard in visitCT_SELECT; the inner
  condition-type checks already cover correctness after promotion.
- LangRef: reword the constant-fold rule to the enforceable "constant
  operand" form, restate fast-math flags via the general FP-call rule (only
  nnan/ninf are poison-generating), and switch undef/poison to match select,
  dropping the noundef return attribute so poison propagates (both arms always
  evaluate, so poison in either yields poison).
- Revert an unrelated whitespace change in LegalizeTypes.h.

    [2 lines not shown]
DeltaFile
+354-0llvm/test/CodeGen/X86/ctselect.ll
+24-22llvm/docs/LangRef.md
+21-22llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+3-9llvm/test/Transforms/InstSimplify/ct-select.ll
+1-5llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+4-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+407-605 files not shown
+417-7011 files

LLVM/project 16c0a7ellvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG LegalizeFloatTypes.cpp LegalizeDAG.cpp

[ConstantTime] Apply review fixes for llvm.ct.select core

- Verifier: reject aggregate types instead of crashing ISel; add test.
- Fix scalable-vector expansion crash when the element type is not a
  legal scalar; add RVV test.
- LangRef: document poison/undef, noundef, permitted folds, and FMF
  behavior; rewrite Syntax/Overview.
- Deduplicate CT_SELECT type-legalizer handlers into the SELECT paths.
- Misc: FP int-twin assert, dead null check, in-place memory blend,
  flag-free PromoteNode, GlobalISel fallback test, comment cleanups.
DeltaFile
+117-0llvm/test/CodeGen/RISCV/ctselect-fallback-scalable.ll
+70-45llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+56-34llvm/docs/LangRef.md
+24-24llvm/test/CodeGen/X86/ctselect.ll
+35-0llvm/test/CodeGen/RISCV/ctselect-fallback-gisel.ll
+10-24llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+312-12711 files not shown
+369-18717 files

LLVM/project 46dc494llvm/docs LangRef.md, llvm/include/llvm/IR Intrinsics.td

[ConstantTime] Address reviewer feedback for llvm.ct.select core

Model llvm.ct.select as IntrInaccessibleMemOnly so the call stays pinned
without pessimizing alias analysis. Make CT_SELECT flagless (drop the
getCTSelect flags parameter, dead flag propagation, and
setFlags-after-getNode) and assert its condition is scalar. Blend the FP
memory fallback at the widest legal integer width with ext-load and
trunc-store tails instead of illegal i8 chunks. Restore the LangRef
section dropped in the rebase onto the Markdown docs migration and note
RISC-V Zkt/Zvkt. Apply review style fixes and regenerate affected tests.
DeltaFile
+113-113llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+125-0llvm/docs/LangRef.md
+27-68llvm/test/CodeGen/X86/ctselect.ll
+39-27llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+16-19llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+8-2llvm/include/llvm/IR/Intrinsics.td
+328-2298 files not shown
+349-24714 files

LLVM/project 8571841llvm/include/llvm/CodeGen ISDOpcodes.h, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

[ConstantTime] Reword comments and LangRef doc
DeltaFile
+0-7llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+5-2llvm/include/llvm/CodeGen/ISDOpcodes.h
+5-92 files

LLVM/project c35a298llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp SelectionDAGBuilder.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime] Move ct.select lowering to legalizer; misc fixes

- LegalizeDAG owns CT_SELECT lowering: scalar-mask+splat for vectors
  (avoids illegal vNi1), memory-blend for FP types lacking a legal
  same-size integer (f64 on i386 no-SSE, fp128, x86_fp80)
- Add InstSimplify folds for constant cond and identical arms
- Extend X86 tests to half/bfloat/fp128/x86_fp80; nounwind cleanup
- Preserve flags through legalizer; reuse SDTSelect
DeltaFile
+1,513-549llvm/test/CodeGen/X86/ctselect.ll
+143-65llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+12-111llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+102-0llvm/test/Transforms/InstSimplify/ct-select.ll
+44-30llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+4-13llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+1,818-7685 files not shown
+1,838-78011 files

LLVM/project 7df36e5llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp LegalizeDAG.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime] Fix CT_SELECT expansion to preserve constant-time guarantees

Create CT_SELECT nodes for scalar types regardless of target support, so
they survive DAGCombiner (visitCT_SELECT is conservative). Expand to
AND/OR/XOR during operation legalization after SETCC is lowered, preventing
the sext(setcc)->select fold chain that converts constant-time patterns
into data-dependent conditional moves (e.g. movn/movz on MIPS).

The mask uses SUB(0, AND(Cond, 1)) instead of SIGN_EXTEND because type
legalization already promoted i1 to the SetCC result type, making
SIGN_EXTEND a no-op for same-width types.
DeltaFile
+144-115llvm/test/CodeGen/X86/ctselect.ll
+10-12llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+12-8llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+13-3llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+179-1384 files

LLVM/project 0e4b6efllvm/lib/CodeGen/SelectionDAG LegalizeFloatTypes.cpp LegalizeVectorTypes.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime] Changed CTSELECT instances to CT_SELECT
DeltaFile
+14-14llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+11-11llvm/test/CodeGen/X86/ctselect.ll
+9-9llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+7-7llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+7-7llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+6-6llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+54-5413 files not shown
+76-8119 files

LLVM/project 50bb370llvm/lib/CodeGen/SelectionDAG LegalizeIntegerTypes.cpp DAGCombiner.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime][LLVM] Add llvm.ct.select intrinsic with generic SelectionDAG lowering

[LLVM][CodeGen]  Improve CTSELECT fallback lowering and target support modeling (#179395)

This pull request refactors and improves the **fallback handling** of
constant-time select (CTSELECT) in LLVM’s code generation
infrastructure. The changes clarify semantics, simplify
target-capability checks, and improve the correctness and
maintainability of fallback lowering, without changing the intended
constant-time guarantees.

- **CTSELECT semantics**
- Clarified documentation for the `CTSELECT` node to explicitly describe
its operands and its role as the lowering target for the constant-time
select intrinsic.

- **TargetLowering cleanup**
  - Removed CTSELECT-specific entries from `SelectSupportKind`.
- Introduced a dedicated `isCtSelectSupported(EVT)` hook to cleanly

    [23 lines not shown]
DeltaFile
+1,509-0llvm/test/CodeGen/X86/ctselect.ll
+754-0llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+106-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+76-2llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+74-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+20-0llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+2,539-214 files not shown
+2,623-720 files

LLVM/project 7c0969cmlir/include/mlir/Dialect/Tosa/Transforms Passes.td, mlir/lib/Dialect/Tosa/Transforms CMakeLists.txt TosaGatherScatterHardening.cpp

[TOSA] Add pass to sanitize gather/scatter indices (#221200)

Add new TosaGatherScatterHardeningPass TOSA pass to clamp indices before
they are fed to a tosa.gather or tosa.scatter unless a suitable clamp
sequence already exists. This enables avoiding out-of-bounds accesses on
untrusted indices in tosa.gather and tosa.scatter lowering.

The pass fails if the dimension indexed by the indices tensor of any of
the tosa.gather or tosa.scatter is dynamic. The pass supports EXT-INT64
by using the same element type in the clamp min/max sequence as the
indices tensor. In case the indexed dimension is bigger than can be
represented in the element type bitwidth the maximum value in that
bitwidth is used.

Assisted-by: codex
Signed-off-by: Thomas Preud'homme <thomas.preudhomme at arm.com>
DeltaFile
+202-0mlir/test/Dialect/Tosa/tosa-gather-scatter-hardening.mlir
+191-0mlir/lib/Dialect/Tosa/Transforms/TosaGatherScatterHardening.cpp
+18-0mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
+17-0mlir/test/Dialect/Tosa/tosa-gather-scatter-hardening-invalid.mlir
+1-0mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
+429-05 files

LLVM/project 9974c38llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests BUILD.gn

[gn] port 6fbfc9261c8f453 (#222726)

6fbfc9261c8f453 make c-t-extra/clangd/unittests/DiagnosticsTests.cpp
include clang-tidy-config.h.
DeltaFile
+1-0llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
+1-01 files

LLVM/project 4814e09clang/test/CIR/Lowering goto.cir fenv.cir

[Clang][CIR] Adapt tests post #217277 (#222583)

Adapt tests post #217277. Failing bot:
* https://lab.llvm.org/staging/#/builders/241/builds/13
DeltaFile
+2-2clang/test/CIR/Lowering/fenv.cir
+1-1clang/test/CIR/Lowering/goto.cir
+3-32 files

LLVM/project bfe74bdllvm/test/CodeGen/SPIRV/debug-info debug-type-pointer.ll debug-type-function-pointer-debug-none-base.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_blocking_pipes PipeBlocking.ll

[NFC][SPIR-V] Fix missing RUN prefix that disabled spirv-val checks (#222609)
DeltaFile
+2-2llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_kernel_attributes/max_work_group_size.ll
+2-2llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-void-call-aggregate-arg.ll
+1-2llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
+1-2llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
+1-1llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-select-untyped-ptr.ll
+1-1llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_blocking_pipes/PipeBlocking.ll
+8-106 files

LLVM/project 6193bc0llvm/test/Other print-on-crash.ll

[llvm][test] Extend -print-on-crash testing granularity
DeltaFile
+13-0llvm/test/Other/print-on-crash.ll
+13-01 files

LLVM/project c7a7a3bclang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

[CIR] Inline the res_attrs void-return condition

A cir.func with no results can only have res_attrs absent or empty, so
the emptiness guard this drops was protecting an invariant the result
attribute count check already enforces.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+1-10clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+1-101 files

LLVM/project b438057llvm/test/CodeGen/AMDGPU amdgcn.bitcast.768bit.ll amdgcn.bitcast.832bit.ll

Merge branch 'main' into users/kparzysz/update-associations
DeltaFile
+57,327-55,762llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+6,634-6,608llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+5,576-5,657llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+4,486-4,550llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+2,884-2,534llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+2,268-1,797llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
+79,175-76,9081,307 files not shown
+124,049-108,2981,313 files

LLVM/project dbeea45flang-rt/lib/cuda init.cpp

[flang][cuda] Drop Mcuda_compiled definition (#222695)
DeltaFile
+0-2flang-rt/lib/cuda/init.cpp
+0-21 files

LLVM/project 2d51e69clang/cmake/modules CMakeLists.txt, mlir/cmake/modules CMakeLists.txt

[CMake] Don't reference unexported targets from dependency-only configs (#222630)

#221724 stopped exporting a project's targets file when that project is
enabled only as another project's dependency, but the build-tree
`ClangConfig.cmake` and `MLIRConfig.cmake` still include it
unconditionally. `find_package()` therefore finds the config and fails
inside it:

```
CMake Error at build/lib/cmake/clang/ClangConfig.cmake:19 (include):
  include could not find requested file:
    build/lib/cmake/clang/ClangTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:90 (find_package)
```

This breaks any configuration that enables Flang without also enabling
Clang or MLIR explicitly: `runtimes/CMakeLists.txt` calls
`find_package(Clang ...)`, which is deliberately not `REQUIRED` and is

    [16 lines not shown]
DeltaFile
+9-1mlir/cmake/modules/CMakeLists.txt
+9-1clang/cmake/modules/CMakeLists.txt
+18-22 files

LLVM/project bd05ca8compiler-rt/lib/asan asan_globals_win.cpp asan_win.cpp, compiler-rt/lib/sanitizer_common sanitizer_win.cpp sanitizer_win_defs.h

[compiler-rt] Support GNU section attributes on Windows (#222707)

MSVC and Clang place sanitizer sentinels and CRT callbacks with
__declspec(allocate) after declaring their sections with #pragma
section. MinGW GCC uses the section attribute instead, so select the
appropriate spelling for each compiler.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>
DeltaFile
+11-9compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
+8-4compiler-rt/lib/asan/asan_globals_win.cpp
+9-3compiler-rt/lib/asan/asan_win.cpp
+5-1compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h
+3-1compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
+36-185 files

LLVM/project 8c520bacompiler-rt/lib/asan asan_globals_win.cpp

[compiler-rt][asan] Include intrin.h for MinGW GCC (#222709)

asan_globals_win.cpp calls __debugbreak in the runtime thunk
configurations. Include MinGW's intrinsic header so the function is
declared when this file is compiled with GCC.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>
DeltaFile
+4-0compiler-rt/lib/asan/asan_globals_win.cpp
+4-01 files

LLVM/project 8124aa1utils/bazel/llvm-project-overlay/llvm BUILD.bazel

Fix bazel build for FrontendHLSL (#222716)

Fixes #1e6f0cbabe1bce674eadb77814d98e2263823384 by adding missing
dependency.
DeltaFile
+1-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+1-01 files

LLVM/project bdf8125compiler-rt/lib/sanitizer_common sanitizer_internal_defs.h sanitizer_win_thunk_interception.h, compiler-rt/lib/ubsan ubsan_handlers.cpp

[compiler-rt] Handle weak interfaces with MinGW GCC (#222706)

Windows weak-function emulation uses MSVC linker /alternatename
directives, which GNU ld does not support. Use direct exported
definitions, avoid registering unsupported DLL weak aliases, and
reference UBSan's real C++ implementation.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>
DeltaFile
+24-17compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.h
+4-4compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
+6-1compiler-rt/lib/ubsan/ubsan_handlers.cpp
+34-223 files