forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 75
merge main into amd-staging #504
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
+2,808
−946
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
llvm#159474 Another try of trying to land llvm#166382 - Fix some leftover tests checking for specific errnos - Guard errno checking tests to not run on the GPU @michaelrj-google
First patch for llvm#74368. Constant folding will be added in a follow-up patch.
Previously, if the `open` or `openat` syscalls returned 0 as a (valid) file descriptor, the `creat` and `openat` wrappers would erroneously return -1.
…166489) Early Niagara processors (T1-T3) lacks any branch predictor, yet they also have a pipeline long enough that the delay slot cannot cover for all of the branch latency. This means that branch instructions will stall the processor for a couple cycles, which makes them an expensive operation. Additionally, the high cost of branching means that it's still profitable to prefer conditional moves even when the conditional is predictable, so let LLVM know about both things. On SPARC T2, a pgbench test seem to show a modest, but pretty consistent speedup (up to around 3%).
The idioms are described in https://reviews.llvm.org/D102116 and [https://reviews.llvm.org/D92754](https://reviews.llvm.org/D91038). In both cases, the way the loop is expressed changes, without changing its iteration count, which means we can reuse the original loop's branch probabilities. Issue llvm#147390
…lvm#166591) This patch fixes a crash in `tryVPTERNLOG` when trying to peel out the outer not in cases like `~(A | B | C)`. Previously, `InnerOp` was taken directly from `Op->getOperand(0)` before verifying that it was a logical operation. As a result, the code could later access `InnerOp->getOperand(0)` or `InnerOp->getOperand(1)` even when `InnerOp` was something like a bitcast, causing an error. This patch applies `getFoldableLogicOp` to `InnerOp`, ensuring that `InnerOp` is a valid logic operation before it is dereferenced.
Generalize VPWidenSelectRecipe codegen to consider single-scalar conditions instead of just loop-invariant ones. If the condition is a single-scalar, we can simply use a scalar condition. PR: llvm#165506
This patch also configures fcntl lock tests to run with F_OFD_* command variants, as all existing lock tests do not exercise process-associated- or OFD-specific functionality.
Currently RuntimeLibcallsInfo is a hardcoded list based on the triple. In the future the available libcall set should be dynamically modifiable with module flags. Note this isn't really used yet. TargetLowering is still constructing its own copy, and untangling that to use this requires several more steps.
… (NFCI) Move and combine the code to narrow ops feeding interleave groups to a single unified static helper. NFC, as legalization logic has not changed.
…ine body (llvm#165650) Fix the assertion failure in TrivialFunctionAnalysis::isTrivialImpl with a coroutine body by caching the result with WithCachedResult.
…66658) Reverts llvm#166252 Causing buildbot failures on `libc-x86_64-debian-dbg-asan`.
Add additional tests to cover chains of ops feeding interleave groups, some of which could be narrowed.
…164825) The code is ported from `SelectionDAG::computeKnownBits`. As a result of adding `G_EXTRACT_VECTOR_ELT` to `GlobalISel`, the code generated for some of the existing regression tests changes. The changes in `neon-extadd-extract.ll` and `knownbits-buildvector.mir` look good to me. Though I'm struggling to understand the diff in `sdiv.i64.ll`. Is there a test that checks if the generated amdgcn produces the correct result? Or tools that help with executing it (I do have an AMD GPU)? **Edit**: Related to llvm#150515
An Info's FullName was not being used anywhere in clang-doc. It seems to have been superseded by other types like QualName. Removing FullName also orphans getRecordPrototype, which constructs a record's full declaration (template<...> class ...). There are better ways to construct this documentation in templates. Fixes llvm#143086
This PR adds __builtin_elementwise_ldexp. It can be used for implementing OpenCL ldexp builtin with vector inputs.
The register values between `2 << 30` (inclusive) and `2 << 31` (exclusive) correspond to frame indices. To obtain the frame index from the given register value we interpret first 30 bits as an unsigned integer. Thus, currently only non-negative frame indices can be represented. However, we should also be able to represent negative frame indices as register values as well. This is used by reaching definitions analysis for example. In order to do that, we interpret the first 30 bits of the register value as a signed integer. --------- Co-authored-by: Mikhail Gudim <mgudim@ventanamicro.com> Co-authored-by: Petr Penzin <ppenzin@tenstorrent.com>
This patch introduces `SBFrameList`, a new SBAPI class that allows iterating over stack frames lazily without calling `SBThread::GetFrameAtIndex` in a loop. The new `SBThread::GetFrames()` method returns an `SBFrameList` that supports Python iteration (`for frame in frame_list:`), indexing (`frame_list[0]`, `frame_list[-1]`), and length queries (`len()`). The implementation uses `StackFrameListSP` as the opaque pointer, sharing the thread's underlying frame list to ensure frames are materialized on-demand. This is particularly useful for ScriptedFrameProviders, where user scripts will be to iterate, filter, and replace frames lazily without materializing the entire stack upfront. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
This new test case breaks the buildbot starting https://lab.llvm.org/buildbot/#/builders/201/builds/6934. The corresponding clang test case sets the target triple to avoid failures.
…6670) I was looking at the calls to `usleep` in debugserver and noticed that these default arguments are never overwritten. I converted them to constants in the function, which makes it easier to reason about.
This is step 1 of exposing WASM `ref.func` to LLVM. This PR only handles creating the instruction and a test for assembling it.
From the OpenACC 3.4 Specification: ``` 1924 2.7.9 copyout clause 1925 The copyout clause may appear on structured data and compute constructs, on declare di 1926 rectives, and on exit data directives. The clause may optionally have a zero modifier if the 1927 copyout clause appears on a structured data or compute construct. 1928 Only the following modifiers may appear in the optional modifier-list: always, alwaysin or zero. 1929 Additionally, on structured data and compute constructs capture modifier may appear ``` `readonly` is not a legal modifier for the `copyout` clause. The call to `genDataOperandOperationsWithModifier` should be checking the parsed modifier for the `copyout` clause against the `Zero` modifier.
Collaborator
Author
ronlieb
approved these changes
Nov 6, 2025
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.