Reland HIP offload PGO compiler support and link the device-profile runtime (#201607)
This mostly relands the compiler part of #177665 (approved and merged,
then reverted in #201416). The first commit restores it as merged: the
AMDGPU instrumentation in LLVM and the HIP codegen in Clang.
#177665 was reverted because of a Windows CRT problem, fixed by
splitting the ROCm runtime into a separate library clang_rt.profile_rocm
(see the compiler-rt PR). The second commit links that library on the
host for HIP device PGO, in addOffloadRTLibs for the Linux and MSVC
toolchains, gated on HIP + profiling + the library being present. It is
a superset of clang_rt.profile and is linked first, so the base library
stays inert. Non-HIP links are unaffected.
Depends on the compiler-rt PR that adds clang_rt.profile_rocm.
[HLSL] Set visibility of cbuffer global variables to internal (#200312)
Global variables for all resources except `cbuffer` are already emitted
with internal linkage (since #166844). This change adds internal linkage
to the `cbuffer` handle globals as well.
One problem is that the `cbuffer` handle globals appears unused between
Clang CodeGen and `{DXIL|SPIRV}CBufferAccess` pass, which replaces
individual `cbuffer` constant globals with accesses through the
`cbuffer` handle globals. Before this pass runs, the unused globals
could get optimized away in `GlobalOptPass` with `-O3`.
To solve this, the `cbuffer` handle globals are added to the
`@llvm.compiler.used` list to make sure they stay in the module until
the `{DXIL|SPRIV}CBufferAccess` pass, which then removes them from the
list.
Reland "[clang-tidy] Preserve line endings in macro-to-enum fixes" (#202271)
Use StringRef::detectEOL() when inserting enum braces so fix-its do not
mix LF into CRLF source files.
This reland fixes the previous buildbot failure by adding `--` in test
file.
[rtsan][clang] Add Hexagon support for RTSan (#200313)
Enable RTSan for the Hexagon architecture.
* Add Hexagon to ALL_RTSAN_SUPPORTED_ARCH in cmake
* Add a clang driver test for hexagon-unknown-linux-musl
* Guarding a static_assert(sizeof(unsigned long) >= sizeof(off_t)) with
SANITIZER_WORDSIZE >= 64, since off_t syscall args are split into two
regs.
www/apache24: update to 2.4.68
Apache 2.4.68 (2026-06-08)
Changes with Apache 2.4.68
*) mod_ssl, ab: Add support for OpenSSL 4.0. [Joe Orton]
*) mod_ssl: Add SerialNumber as a recognized attribute type for SSL
distinguished name variables. [Michael Osipov <michaelo apache.org>,
Benjamin Demarteau <benjamin.demarteau liege.be>]
*) mod_ssl: Set auth type to "ClientCert" when client certificate authentication
has been performed. [Michael Osipov <michaelo apache.org>]
*) mod_include: Don't print any of if/elsif/else content when
a conditional evaluation returns an error. [Eric Covener]
*) mod_unixd: CoreDumpDirectory requires enabling tracing on FreeBSD 11+.
[37 lines not shown]
net80211: add DEFERRED_WORK.md
Describe the ieee80211_task API, why its used and some of
its shortcomings.
Differential Revision: https://reviews.freebsd.org/D57261
[test][Support] Disable CFI-icall for DynamicLibrary Overload test (#202446)
The test performs manual symbol lookup and calls, which triggers
Control Flow Integrity indirect call checks.
[Clang][counted_by] Honor counted_by in __bdos on direct struct access (#201161)
__builtin_dynamic_object_size on a flexible array member must consult
the 'counted_by' attribute even when the containing struct is accessed
directly (a local or global variable) rather than through a pointer
dereference. The pointer-deref form (p->fam) already worked because the
constant evaluator could not determine the LValue for an opaque
parameter and fell through to the counted_by-aware runtime path in
CGBuiltin. The direct form (af.fam, gaf.fam) was being folded by
tryEvaluateBuiltinObjectSize to a layout-derived size (e.g. trailing
struct padding for locals, trailing initializer data for globals)
silently bypassing emitCountedBySize.
Make the AST constant evaluator refuse to fold __bdos on the same
operands that CGBuiltin's __bdos lowering classifies as a counted_by
FAM access. The check runs after the existing negative-offset early
return so that obviously out-of-bounds operands like &p->array[-42]
still fold to 0, preserving the behavior the sanitizer-bounds test in
attr-counted-by.c (test35) relies on.
[25 lines not shown]
[clang-cl] Fix friend class warning on Windows (#201720)
clang-cl warned on "friend class CallInst;" because MSVC may resolve
that to "friend llvm::CallInst" instead of the sbox IR mirrored
hierarchy. Drop the class tag and refer to forward declared names
instead.
[Github] Make bazel-checks workflow validate shasums (#202405)
For some added security (although it's probably not super helpful here),
and consistency across the code base.
[SPIR-V] Allow bfloat vector atomics lowering without scalarization (#202083)
This is a workaround only for AMD triple - to use
SPV_NV_shader_atomic_fp16_vector for this lowering.
[WebAssembly] Don't stackify multi-def instructions (#200429)
This commit updates the `WebAssemblyRegStackify.cpp` pass to
specifically exclude attempting to stackify the first def of a multi-def
instruction. As the previous comments indicate this is possible to do in
some situations, but the current logic is incomplete and has led to
miscompilations such as #98323 and #199910. One option would be to make
the logic more robust, but in lieu of that in the meantime the change
here is to completely disable stackification in these situations. This
provides at least a "known working" base to build on later and fixes the
known regressions around this.
Closes #98323
Closes #199910