forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 77
merge main into amd-staging #642
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
z1-cciauto
merged 26 commits into
amd-staging
from
amd/merge/upstream_merge_20251121054640
Nov 21, 2025
Merged
merge main into amd-staging #642
z1-cciauto
merged 26 commits into
amd-staging
from
amd/merge/upstream_merge_20251121054640
Nov 21, 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
… non-static. NFC. (llvm#168839) So that we can reuse these functions in few place, such as in clang/lib/Driver/ToolChains/CommonArgs.cpp. Part of the code there is currently copied from getOptimizationLevel.
…ert header-only macros (llvm#168016) Adds the remaining optional feature macros from the OpenCL C 3.0 spec (section 6.2.1 table). Targets can now enable these via OpenCLFeaturesMap returned by getSupportedOpenCLOpts(). Revert a84599f (header‑only feature macros). Header‑only macros are difficult to disable on SPIR-V targets, and the prior undef approach (a60b8f4) does not scale. After this PR, they can be disabled via `-cl-ext=-<feature>`. KhronosGroup/OpenCL-Docs#1328 also notes that unconditional definition of the header‑only macros in opencl-c-base.h should be removed.
…67744) Query RuntimeLibcalls for the support and the name. The check that the implementation is exactly __guard_local instead of unsupported feels a bit strange.
…#168712) This PR removes op verifiers that do not implement any custom verification logic.
…Frontend.h (llvm#162883) d076608 moved some deps around to avoid cycles and left clang/Frontend/FrontendDiagnostic.h as a shim that simply includes clang/Basic/DiagnosticFrontend.h. This PR inlines it so that nothing in tree still includes clang/Frontend/FrontendDiagnostic.h. Doing this will help prevent future layering issues. See llvm#162865. Frontend already depends on Basic, so no new deps need to be added anywhere except for places that do strict dep checking.
…168842) NPM was missing buffering for non-seekable output streams (stdout, pipes), causing assertion failures when generating object files with `-o -`. Use buffer_ostream to provide seekable buffering, matching legacy PM behavior. Co-authored-by: vikhegde <vikram.hegde@amd.com>
As suggested by Augusto, add an assert to the NonNullSharedPtr move constructor.
This commit implements a complete load/store optimization pass for the RISC-V Zilsd extension, which combines pairs of 32-bit load/store instructions into single 64-bit LD/SD instructions when possible. Default alignment is 8, it also provide zilsd-4byte-align feature for looser condition. Related work: https://reviews.llvm.org/D144002 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Same changes as in fix for llvm#165276 except for changes in test case : 1) remove unnecessary include in test to restore Ubuntu build. This is not needed as allocatable modifier is not applicable to the default clause in C/C++. 2) Changes in CHECK statements to accommodate testing failure on toolchain builders at Google, Reported by Prabhu Rajasekaran. --------- Co-authored-by: Sunil Kuravinakop <kuravina@pe31.hpc.amslabs.hpecorp.net>
PPCISelLowering.cpp:15567:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
15567 | CC == ISD::SETEQ && "CC mus be ISD::SETNE or ISD::SETEQ");
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See the attached test for example.
…or adding the vector {1, 1, 1, 1} (llvm#160882)
This patch optimizes vector addition operations involving **`all-ones`**
vectors by leveraging the generation of vectors of -1s(using `xxleqv`,
which is cheaper than generating vectors of 1s(`vspltisw`). These are
the respective vector types.
`v2i64`: **`A + vector {1, 1}`**
`v4i32`: **`A + vector {1, 1, 1, 1}`**
`v8i16`: **`A + vector {1, 1, 1, 1, 1, 1, 1, 1}`**
`v16i8`: **`A + vector {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1}`**
The optimized version replaces `vspltisw (4 cycles)` with `xxleqv (2
cycles)` using the following identity:
`A - (-1) = A + 1`.
---------
Co-authored-by: himadhith <himadhith.v@ibm.com>
Co-authored-by: Tony Varghese <tonypalampalliyil@gmail.com>
…I. (llvm#168999) Re-using Session as a variable name risks confusion with the Session type.
This commit enables the direct import of debug records by default and fixes issues with two edge cases: - Detect early on if the address operand is an argument list (calling getAddress() for argument lists asserts) - Use getAddress() to check if the address operand is null, which means the address operand is an empty metadata node, which currently is not supported. - Add support for debug label records. This is a follow-up to: llvm#167812
Add charithaintc, Jianhui-Li and tkarna as code owners of XeGPU/TransformOps directories.
…attr and set_desc_layout (llvm#168929) `set_op_layout_attr` and `set_desc_layout` transform ops wrap `xegpu.layout` in an `xegpu.slice` attribute if `slice_dims` argument is set.
After truncating an integer-induction, neither nuw nor nsw hold. Fixes llvm#168902. Co-authored-by: Florian Hahn <flo@fhahn.com>
These test change and need updating every time a new instruction is added, including generic G_ global isel instructions. The opcodes of all instructions change force a manual update of the file, which makes it very high cost for what it is testing. I have rewritten it to use regexes for the triplets.mir test and just test a couple of opcodes in the entities.mir file.
…ccept arguments (llvm#152192)" (llvm#168812) This partially reverts llvm#152192, keeping updated tests and some code reordering in clang/lib/CodeGen/CGExpr.cpp. compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp is exact revert (with followup llvm#152419) We don't have a good use case for that, so revert it before we are stuck maintaining this API. 21.x does not have this patch. This reverts commit a1209d8.
…vm#168131) Currently, default `clang-format` LLVM style is configured like this: ``` KeepEmptyLines: AtEndOfFile: false AtStartOfBlock: true AtStartOfFile: true ``` This PR sets `AtStartOfBlock` and `AtStartOfFile` to false. I think this is the general style pattern we tend to follow, in particular Eugene made comments about empty newlines at start of functions.
llvm#168534) In debug-info we soon have the need to print names using the full scope of the entity (see discussion in llvm#159592). Particularly, when a structure is scoped inside a function, we'd like to emit the name as `func()::foo`. `CGDebugInfo` uses the `TypePrinter` to print type names into debug-info. However, `TypePrinter` stops (and ignores) `DeclContext`s that are functions. I.e., it would just print `foo`. Ideally it would behave the same way `printNestedNameSpecifier` does. The FIXME in https://github.com/llvm/llvm-project/blob/47c1aa4cef638c97b74f3afb7bed60e92bba1f90/clang/lib/AST/TypePrinter.cpp#L1520-L1521 motivated this patch. See llvm#168533 for how this will be used by `CGDebugInfo`. The plan is to introduce a new `PrintingPolicy` that prints anonymous entities using their full scope (including function/anonymous scopes) and the mangling number.
… than 64 processors (llvm#168229) Starting with Windows 11, processes can utilize more than 64 processors by default, but GetSystemInfo can only report a maximum of 64. Starting with Windows Vista, GetActiveProcessorCount accurately retrieves the total number of processors on the current system. I’ve implemented similar improvements to Microsoft STL. The following links contain additional background information: microsoft/STL#5453, microsoft/STL#5459 (note: Reason STL uses the more complex GetLogicalProcessorInformationEx: microsoft/STL#5459 (comment).).
Collaborator
dpalermo
approved these changes
Nov 21, 2025
Collaborator
Author
|
!PSDB |
Collaborator
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.