forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Integrate LLVM llvm/llvm-project@80ea5f4 (2025-06-10) #23
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
AGindinson
merged 4,096 commits into
dev
from
artem/3way/integrate-llvm-project-20250610
Jun 17, 2025
Merged
Integrate LLVM llvm/llvm-project@80ea5f4 (2025-06-10) #23
AGindinson
merged 4,096 commits into
dev
from
artem/3way/integrate-llvm-project-20250610
Jun 17, 2025
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
We can now invoke hash_combine_range with a range.
We don't need lambdas here.
Note that llvm::any_of can accommodate std::begin(Range), not just Range.begin().
) FCmp's commutativity predicates do not work with min/max semantics Closes llvm#142711
The optimization level should not be restored into O2.
Like many other targets did. And see RISCV for similar fix. Fix llvm#143239
…iner is user defined (llvm#140379) This is brought up in the LWG reflector. We currently call `reserve` if the underlying container has one. But the spec does not specify what `reserve` should do for Sequence Container. So in theory if the underlying container is user defined type and it can have a function called `reserve` which does something completely different. The fix is to just call `reserve` for STL containers if it has one
This patch adds SPARC infrastructure to the `openmp` `cmake` files, matching what is done for other architectures. Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`, `sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`, `i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and `x86_64-pc-linux-gnu`.
…constraint-expression (llvm#132919) Remove `[expr.prim.req.nested]` check which restrict that local parameters in constraint-expressions can only appear as unevaluated operands. This change makes the treatment of examples like `requires` expressions and other constant expression contexts uniform, consistent with the adoption of P2280. References: https://cplusplus.github.io/CWG/issues/2517.html Fixes llvm#132825 --------- Co-authored-by: cor3ntin <corentinjabot@gmail.com>
This change adds support for the Shuffle op for VectorType Issue llvm#136487
This change adds a folder for the VecTernaryOp Issue llvm#136487
) Fixes the build failure due to missing includes introduced in f8dcb05.
…nal<llvm::function_ref<>>` (llvm#142906) There is no need to distinguish between null `optional` and null `function_ref` in this case.
This patch refactors CommentKind handling in clang-doc by introducing a strongly typed enum class for better type safety and clarity. It updates all relevant places, including YAML traits and serialization, to work with the new enum. Additionally, it enhances the Mustache-based HTML generation by fully supporting all comment kinds, ensuring accurate structured rendering of comment blocks. The changes simplify future maintenance, improve robustness by eliminating unchecked defaults, and ensure consistency between generators. Fixes llvm#142083
…lvm#141949) Trampoline will use a alternative sequence when branch CFI is on. The stack of the test is organized as follow ``` 56 $ra 44 $a0 f 36 $a1 p 32 00038067 jalr t2 28 010e3e03 ld t3, 16(t3) 24 018e3383 ld t2, 24(t3) 20 00000e17 auipc t3, 0 sp+16 00000023 lpad 0 ```
* Test line/column * Remove copied source lines from diagnostics
* Move implementations out-of-line to align with other backends. * clang-format the class.
…43160) There needs to be a space as the first character, otherwise the printed function prototype will have the CC attribute attached to the final `)`. I noticed this looking at the AST for a function with `__attribute__((device_kernel))` --------- Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
It has been supported by llvm#141267.
The CallDeleteDuringNew::PassTypeToPlacementDelete field became unneeded during the many refactorings of P2719 but I didn't actually remove it.
While https://learn.microsoft.com/en-us/windows/win32/menurc/accelerators-resource specifies that ALT only applies to virtkeys, this doesn't seem to be the case in reality. https://learn.microsoft.com/en-us/windows/win32/menurc/using-keyboard-accelerators contains an example that uses this combination: "B", ID_ACCEL5, ALT ; ALT_SHIFT+B Also Microsoft also includes such cases in their repo of test cases: https://github.com/microsoft/Windows-classic-samples/blob/263dd514ad215d0a40d1ec44b4df84b30ec11dcf/Samples/Win7Samples/begin/sdkdiff/sdkdiff.rc#L161-L164 Also MS rc.exe doesn't warn/error about this. However if applying SHIFT or CONTROL on a non-virtkey accelerator, MS rc.exe does produce this warning: warning RC4203 : SHIFT or CONTROL used without VIRTKEY Hence, keep the checks for SHIFT and CONTROL, but remove the checks for ALT, which seems to have been incorrect. This fixes one aspect of llvm#143157.
…#143028) This mirrors incubator changes from llvm/clangir#1661
…142958) Currently OptimizePointerDifference() only handles single GEPs with a common base, not GEP chains. This patch generalizes the support to nested GEPs with a common base. Finding the common base is a bit annoying because we want to stop as soon as possible and not recurse into common GEP prefixes. This helps avoids regressions from llvm#137297.
…lvm#142605) Apply loop guards to BTC before checking if the last iteration should be peeled off. This also adds an assert to make sure applying the guards does not pessimize the results. I checked on a large test set and it did not trigger there, but it adds an additional guard to catch potential cases where loop-guards pessimize results. Peels ~15% more loops. PR: llvm#142605
…#143399) Column is limited to 16 bits in several places in the compiler: DebugInfoMetadata.cpp#L87, LLParser.cpp#L4706, and more Slight compile time improvement due to reducing `hash_combine` workload in `MDNodeKeyImpl<DILocation>::getHashValue()`. Positively affects compile time regardless of whether Key Instructions is enabled. See PR for numbers.
This test is failing on a couple of bots and on premerge after a082f66. That patch configures the relevant libcalls for ARM in RuntimeLibCalls. This causes __rt_sdiv to get pulled into the LTO preopt IR. This should happen for other builtins as well, which means that the original issue that the patch introducing this patch intended to diagnose should no longer exist. The compiler generated calls to builtins mentioned in 7f9a004 should always have definitions, assuming they are available in the link and will not only get pulled in late if lazily loading symbols from archives. We otherwise get the standard diagnostic if they are not.
…42965) This commmit is a supplement for llvm#140374. RFC:https://discourse.llvm.org/t/rfc-add-fir-affine-optimization-fir-pass-pipeline/86190/6 --------- Co-authored-by: ZhiQiang Fan <zhiqiang.fan@terapines.com>
Not sure if this is the right place to add this, but without explicitly setting it as convergent, the permlanex16 instruction in the test sinks into the second block. Co-authored-by: Paul Trojahn <paul.trojahn@amd.com>
…uted to SHUFPDrri Noticed while preparing for llvm#142972
… outside implicitCastExpr (llvm#134188) Aims to fix llvm#127471 Covered the edge case where an int expression is not necessarily directly wrapped around an 'ImplicitCastExpr' which seemed to be a requirement in 'use-integer-sign-comparison.cpp' check to trigger. **For instance**: ```cpp #include <vector> bool f() { std::vector<int> v; unsigned int i = 0; return i >= v.size(); } ```
…43062) Current approach generates intrinsic records when users specify corresponding required features by using command line option. However it's not able to handle features passed by using target attributes correctly where each function might have different features. This patch resolves this by generating all of intrinsic records which carry the required features in their function declaration using attribute and check the required extensions in CheckBuiltinFunctionCall. This should fix [56592](llvm#56592), [134962](llvm#134962) and [121603](llvm#121603)
This patch migrates the premerge pipeline to use LLVM_ENABLE_RUNTIMES to build libc and compiler-rt. Reviewers: DavidSpickett, tstellar, cmtice, lnihlen Reviewed By: DavidSpickett Pull Request: llvm#142696
…llvm#133231)" This reapplies commit 2de936b. This reverts commit 149c52d.
…parator (llvm#135970)" This reapplies commit 4bcc414. This reverts commit 450c366.
Merges llvm/llvm-project up to commit 80ea5f4.
chrsmcgrr
approved these changes
Jun 17, 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.