math/py-numpy: add SIMD options
Per the 2.4 release notes, the default/minimum baseline for compiled
optimisations on amd64 and i386 is increased to the v2 microarchitecture.
Thus, those using CPUs without the full feature set from v2 will
encounter SIGILL when running numpy with the default/minimum baseline.
Add option to disable compiled optimisations, relying entirely on
dispatched code paths when available and applicable. Not recommended
except for very old CPUs. Also add native option.
PR: 295633, 295664
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.