Skip to content

Conversation

@z1-cciauto
Copy link
Collaborator

No description provided.

Icohedron and others added 28 commits January 16, 2026 13:05
Fixes llvm#174629

This PR is similar to that of llvm#169144 but for matrices.

When storing to a matrix element or matrix row, `insertelement`
instructions have been replaced by GEPs followed by stores to individual
matrix elements. There is no longer storing of the entire matrix to
memory all at once, thus avoiding data races when writing to independent
matrix elements from multiple threads.
…se. (llvm#176286)

Trivial renaming following the [style
guide](https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly).

This is mostly to familiarize myself with the workflow for contributing
to LLVM.
Bail out on scalable vectors in helper. Currently this is not causing
issues, but fixes a potential crash that would be exposed by a follow-up
change.

Test would exposes the issue in the future has been added in
8c5352c.
…symbols (llvm#176460)

When a weakly defined function is not include because its defined in
shared object we should use the tombstone value during relocation of
debug info.

Fixes: emscripten-core/emscripten#26044
Fixes llvm#174369

- Added a G_CTLS opcode and some pattern matching. This is the
GlobalISel equivalent to
llvm#173417
- Add legalization for aarch64 and riscv

```
// Folds (ctlz (xor x, (sra x, bitwidth-1))) -> (add (ctls x), 1). 
// Folds (ctlz (or (shl (xor x, (sra x, bitwidth-1)), 1), 1) -> (ctls x) (clang aarch64)
```
…ed-array (llvm#176466)

This PR adds support for toggling on/off warnings around static sized
arrays. This supports / addresses
llvm#87284, for those who use
-fsanitize=array-bounds which inserts checks for fixed sized arrays
already.
Add support for rdrand and rdseed builtins.

Part of llvm#167765
builds with both Clang and GCC 12.2.

Closes llvm#175363.
builds with both Clang and GCC 12.2.

Closes llvm#175364.
We had an llvm_unreachable following a switch on the WasmAddress's type.
However, the type is encoded in a larger 64 bit address, and therefore
it's possible to create an invalid value that doesn't map back on one of
the enum types.

We could try to diagnose that in the wrapper, or treat all invalid types
the same. I took the latter approach because it makes it easier to show
the invalid type after the fact in an error message.

rdar://168314695
This adds handling for compare expressions involving member pointer to
functions.
This cache file demonstrates how to build a complete baremetal
Clang/LLVM toolchain that can be used to build the Pico SDK.
…6472)

`GetRegisterInfo` hardcodes to use `RegisterInfoPOSIX_riscv64` instead
of checking the triple to determine whether to use
`RegisterInfoPOSIX_riscv64` or `RegisterInfoPOSIX_riscv32`.

Someone put up a [PR](llvm#175262)
for this, but seems to have removed their account and the associated PR
with it.

Fixes llvm#175092
builds correctly with both Clang and GCC 12.2.

Closes llvm#175338.
…#170214)

Currently, there's code to suppress pairing, but we don't actually need
to suppress that; we just need to suppress the formation of
pre-decrement/post-increment instructions.

Pairing saves an instruction in some cases, and enables packed unwind in
some cases.
builds with both Clang and GCC 12.2.

Closes llvm#175354.
Rename IsEligibleForTailCallOptimization to isEligibleForSiblingCallOpt.
LLVM supports two other ways to bypass this logic: musttail and
ShouldGuaranteeTCO. The result of this function doesn't really control
tail call eligibility, and returning false from it is not sufficient to
block tail call emission. Rename it to clarify the code.

Move the calling convention match check, which is the only thing that
matters in the guaranteed TCO case, out of this sibcall eligibility
check.

Move the GOT early binding check into the sibcall eligibility check,
since it is bypassed in either guaranteed TCO case. When that [diff
landed](https://reviews.llvm.org/D9799), it did not have exceptions for
`musttail`, but later in 9ff2eb1 the two guaranteed tail call
cases were made to override this check, forcing lazy binding, which I
agree is the right tradeoff.

Based on my reading of the code, it is now *impossible* for a `musttail`
call to not be emitted as a tail call in the x86 SDISel backend, the
only exception being the "cf-protection-branch" check, so I added a test
to cover that case.
builds with both Clang and GCC 12.2.

Closes llvm#175349.
builds correctly with both Clang and GCC 12.2.

Closes llvm#175333.
…r bad (llvm#176501)

this patch update the parser for CUDA Fortran subprogram attribute to
emit more precise error.

Instead of having error like: 

```
error: expected 'END'
      attributes(managed) integer function fooj()
      ^
```

The parser will emit: 
```
 expected DEVICE, GLOBAL, GRID_GLOBAL, or HOST attribute
  attributes(managed) integer function fooj()
             ^
```
…header (llvm#176491)

Introducing `llvm::createStringErrorV` caused a `0.5%` compile-time
regression because it's an inline function in a core header. This moves
the API to a new header to prevent including this function in files that
don't need it.

Also includes the header in the source files that have been using
`createStringErrorV` (which currently is just LLDB).
…0586)

Most libcs optimize functions like strlen by reading in chunks larger
than a single character. As part of "the implementation", they can
legally do this as long as they are careful not to read invalid memory.

However, such tricks prevents those functions from being tested under
the various sanitizers.

This PR creates a test framework that can report when one of these
functions read or write in an invalid way without using the sanitizers.
This adds support to CIR for calling functions through pointer to method
pointers with the Itanium ABI for x86_64 targets. The ARM-specific
handling of method pointers is not-yet implemented.
@z1-cciauto z1-cciauto requested a review from a team January 17, 2026 01:14
@z1-cciauto
Copy link
Collaborator Author

@z1-cciauto z1-cciauto merged commit 74678d5 into amd-staging Jan 17, 2026
24 checks passed
@z1-cciauto z1-cciauto deleted the upstream_merge_202601162014 branch January 17, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.