[CodeGen] Allow `-enable-ext-tsp-block-placement` and `-apply-ext-tsp-for-size` passed together (#183642)
Currently, the asserts fires when both `UseExtTspForPerf` and
`UseExtTspForSize` are true on a given function.
Ideally, we should allow `-enable-ext-tsp-block-placement` and
`-apply-ext-tsp-for-size` passed together, meaning run the block
placement for performance on hot functions, while run the placement for
size on cold functions.
The diff makes `UseExtTspForPerf` and `UseExtTspForSize` mutually
exclusive per-function: functions with the `OptForSize` attribute use
ext-tsp block placement for size, while the others use ext-tsp block
placement for perf.
Co-authored-by: Sharon Xu <sharonxu at fb.com>
[CIR] Use `-verify` on clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl (#182817)
Update clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl to use
`-verify` with expected CIR NYI diagnostics.
[CIR] Infrastructure and MemorySpaceAttrInterface for Address Spaces (#179073)
Related: https://github.com/llvm/llvm-project/issues/175871,https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C179278,https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C160386
- Introducing the LangAddressSpace enum with offload address space kinds
(offload_private, offload_local, offload_global, offload_constant,
offload_generic) and the LangAddressSpaceAttr attribute.
- Generalizes CIR AS attributes as MemorySpaceAttrInterface and Attaches
it to `PointerType`. Includes test coverage for valid IR roundtrips and
invalid address space parsing.
This starts a series of patches with the purpose of bringing complete
address spaces support features for CIR. Most of the test coverage is
provided in subsequent patches further down the stack. note that most of
these patches are based on: https://github.com/llvm/clangir/pull/1986
editors/vim: Update to 9.2.0073, multiple security fixes
While the minor has bumped, and much has changed from 9.1 to 9.2,
we've been incrementally adopting the patches so it's not "new" to us,
per se. All the gory details are at:
https://github.com/vim/vim/blob/master/runtime/doc/version9.txt
This commit adds patches for six security issues:
patch 9.2.0073: [security]: possible command injection using netrw
Problem: [security]: Insufficient validation of hostname and port in
netrw URIs allows command injection via shell metacharacters
(ehdgks0627, un3xploitable).
Solution: Implement stricter RFC1123 hostname and IP validation.
Use shellescape() for the provided hostname and port.
Github Advisory:
GHSA-m3xh-9434-g336
[63 lines not shown]
[VPlan] Don't adjust trip count for DataAndControlFlowWithoutRuntimeCheck (#183729)
Previously, the canonical IV increment may have overflowed to a non-zero
value due to vscale being a non power-of-two. So we used to emit a
runtime check for this.
If you didn't want the runtime check,
DataAndControlFlowWithoutRuntimeCheck skipped it and instead tweaked the
trip count so it wouldn't overflow.
However #144963 stopped the check from ever being emitted because vscale
is always a power-of-two on AArch64 and RISC-V, so it never overflowed
to a non-zero value. And in #183292 the code to emit the check was
removed. But we never restored the trip count back to normal when the
target's vscale was a power-of-two.
Now that vscale is always a power-of-two, this PR avoids adjusting it. A
follow up NFC can then remove DataAndControlFlowWithoutRuntimeCheck.
editors/vim: Update to 9.2.0073, multiple security fixes
While the minor has bumped, and much has changed from 9.1 to 9.2,
we've been incrementally adopting the patches so it's not "new" to us,
per se. All the gory details are at:
https://github.com/vim/vim/blob/master/runtime/doc/version9.txt
This commit adds patches for six security issues:
patch 9.2.0073: [security]: possible command injection using netrw
Problem: [security]: Insufficient validation of hostname and port in
netrw URIs allows command injection via shell metacharacters
(ehdgks0627, un3xploitable).
Solution: Implement stricter RFC1123 hostname and IP validation.
Use shellescape() for the provided hostname and port.
Github Advisory:
GHSA-m3xh-9434-g336
[62 lines not shown]
Clang: Deprecate float support from __builtin_elementwise_max (#180885)
Now we have
__builtin_elementwise_maxnum
__builtin_elementwise_maximum
__builtin_elementwise_maximumnum
[libc][math][c23] implement C23 `acospif` math function (#183661)
Implementing C23 `acospi` math function for single-precision with the
header-only approach that is followed since #147386
[libc][math] Refactor floor family to header-only (#182194)
Refactors the floor math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182193
Target Functions:
- floor
- floorbf16
- floorf
- floorf128
- floorf16
- floorl
NAS-140023 / 26.0.0-BETA.1 / Fix system version regex for apps min max version validation (#18314)
This commit fixes an issue where the SCALE version format changed from
XX.XX (25.04) to XX.X (26.0), breaking the version regex which required
exactly 2 digits after the first dot. This caused all catalog app
installs to fail on 26.x builds.
[AMDGPU] Remove extra pipes from load-saddr-offset-imm.ll (#183874)
This test uses opt to run instcombin and then pipes that into llc which
has its output piped into FileCheck. Before this patch, the test also
piped in the source file into llc as well, which caused issues with a
downstream test executor that executes the lines in bash. However, these
extra pipes don't make sense anyways, so remove them.
[clang] NFC: remove unused / untested workaround in pack deduction
This snippet was part of what was introduced in 130cc445e46836b28defdce03b1adfdb16ddcf41
However, none of the existing tests require it, including the tests added in
that commit.
One of those tests had a FIXME which was fixed when we switched
frelaxed-template-template-args on by default as well.
[CUDA] Allow `extern __shared__` on non-array types
NVCC allows `extern __shared__` on any type, not just incomplete arrays.
This is commonly used in CUDA libraries like NCCL to overlay a struct on
dynamically-allocated shared memory:
extern __shared__ ncclShmemData ncclShmem;
Previously, Clang rejected this with a hard error and did not add
`CUDASharedAttr` to the VarDecl. This caused a cascade: `IdentifyTarget()`
classified the variable as host-side, and any device code referencing it
got a spurious "reference to __host__ variable in __device__ function"
error.
Downgrade the error to a default-ignored warning (`-Wcuda-extern-shared`)
and always add `CUDASharedAttr` so the variable is correctly classified as
device-side. The old `err_cuda_extern_shared` is preserved for potential
future use.