forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 77
merge main into amd-staging #1127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+3,735
−551
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
builds with both Clang and GCC 12.2. Closes llvm#175362.
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.
Collaborator
Author
ronlieb
approved these changes
Jan 17, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.