Skip to content

[pull] main from llvm:main#1422

Merged
pull[bot] merged 8 commits into
optimizecompile:mainfrom
llvm:main
May 18, 2026
Merged

[pull] main from llvm:main#1422
pull[bot] merged 8 commits into
optimizecompile:mainfrom
llvm:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 18, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

kasuga-fj and others added 8 commits May 18, 2026 00:23
This patch resolved one TODO comment in `accumulateCoefficientsGCD`
regarding an early return. I think this early return doesn't change the
final result because:

- The presence/absence of this early return can only affect whether
`CurLoopCoeff` is set.
- Regardless the value of `CurLoopCoeff`, if `RunningGCD` equals 1, the
result of caller side while loop doesn't change.

Deleting this early return is somewhat beneficial, because it allows us
to merge `analyzeCoefficientsForGCD` into this function.
Without this fix, libc++ rejects this example:

```cpp
#include <mdspan>

struct RValueInt {
  constexpr operator int() && noexcept { return 0; }
};

int main() {
  std::extents<int, std::dynamic_extent> e(RValueInt{});
}
```
…196919)

This is missed when we implemented CWG2369, where their instantiations
should be built in place when they are needed.

Fixes #173086
All elements in a dense splat are identical, transposing it only changes
the shape, but still maintaining the value. Add a pattern where it would
replace the `linalg.transpose` of a splat constant with a
`arith.constant` of the transposed result shape.

Assisted-by: Cursor (GPT-5.5)
Inlcude: __builtin_riscv_clz_32, __builtin_riscv_clz_64,
__builtin_riscv_ctz_32, __builtin_riscv_ctz_64.
The function getMaxNumArgs() hardcoded the maximum number of function
arguments to 5. LLVM now supports more than 5 arguments with stack
argument support. Remove this leftover.
…RFReader) (#192923)

Issues found PVS studio static analyzer.
LVCodeViewReader.cpp. PR for #170117.

4. Potent UB: manipulation of invalid object.
The PVS-Studio warning: V519 The 'FeaturesValue' variable is assigned
values twice successively.

The original patch caused fail tests for linker error and it was reverted.
This PR include original (#188578) + necessary edit in CMakeList.

Committed on behalf of @Seraphimt
For subnormal inputs, get_exponent() returns -1023. The code subtracted
64 after normalizing but didn't recompute e_x from the normalized value.
This set e_x to -1087 for every subnormal.

To fix, compute e_x from the normalized value.

powf() doesn't have this bug because it adds
`x_u >> FloatBits::FRACTION_LEN` to ex, where x_u is `x_u =
FloatBits(x).uintval();` with `x` being the normalized value. Added
subnormal base tests for powf to show that it works fine as-is.

Fixes #197212.
@pull pull Bot locked and limited conversation to collaborators May 18, 2026
@pull pull Bot added the ⤵️ pull label May 18, 2026
@pull pull Bot merged commit d8e4096 into optimizecompile:main May 18, 2026
33 of 34 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants