Skip to content

Comments

merge main into amd-staging#1024

Merged
z1-cciauto merged 30 commits intoamd-stagingfrom
upstream_merge_202601062306
Jan 7, 2026
Merged

merge main into amd-staging#1024
z1-cciauto merged 30 commits intoamd-stagingfrom
upstream_merge_202601062306

Conversation

@z1-cciauto
Copy link
Collaborator

No description provided.

tomershafir and others added 30 commits January 6, 2026 22:29
…73725)

This change fixes the reservation of LR by `-mlr-for-calls-only`, also
reserving its sub-register W30. Otherwise, the register allocator could
allocate W30. Adding a regression test for general sub-register
reservation, including LR.
The original patch, landed as a2db31b ([VPlan] Simplify pow-of-2
(mul|udiv) -> (shl|lshr), llvm#172477) had a critical commutative matcher
bug, which has now been fixed. An assert has also been strengthened,
following a post-commit review.
Counts the number of Basic Block successors when stats are enabled
We want to track this metric for a project in which we analyze the
effects of having LLVM Intermediate Representation (IR) code with a high
number of branches. We plan to use these capabilities to learn how
enabling memory safety features increases the branchiness in LLVM IR and
further how it affects binary compilation time and the resulting binary
performance.
…ysis (llvm#174117)

The join block could be not a header of a cycle, as shown in the newly
added test case.
…lvm#174522) (llvm#174642)

The option added in llvm#174522 breaks simulator tests, since `set_default`
overrides `False` values with the default.

Since these options are either string or boolean, this patches
set_default to override only un-set or empty string values (empty string
is not truth-y and therefore would be overwritten by defaults currently,
so this is NFCI)
…174648)

To prevent compiler warnings when building without assertions turned on.
This rewrite some CUDA Fortran specific like `on_device` function to
constant boolean values.
There's no need for a full definition of `BinaryBasicBlock` in
`MCPlusBuilder.h`. Use `InstructionListType::iterator` instead of
`BinaryBasicBlock::iterator` in `findMemcpySizeInBytes()`.
The `ModuleCache` class is currently reference-counted intrusively. As
explained in llvm#139584, this is
problematic. This PR uses `std::shared_ptr` to reference-count
`ModuleCache` instead, which clarifies what happens to its lifetime when
constructing `CompilerInstance`, for example. This also makes the
reference in `ModuleManager` non-owning, simplifying the ownership
relationship further. The
`ASTUnit::transferASTDataFromCompilerInstance()` function now accounts
for that by taking care to keep it alive.
Collapsible lists are achieved via `<details>` and their child
`<summary>` tags. `<details>` tags allow for a section to be designated
as collapsible, while the `<summary>` tag is used as the sidebar
section's header. This approach was chosen over making the lists
stateful through various CSS properties.

This patch also refactors the `<li>` tag structure of sidebar sections.
Previously, the section header and list items were in separate `<li>`
tags without sharing a parent. Now, the header and items are under a
single `<li>` tag which makes more sense semantically.
…lvm#174524)

So that `SourceRange` can be used in `DenseMap` and `DenseSet`.
…#174657)

Move CUDA Fortran related passes with others in CUDA directory.
…#174660)

This moves a few tests that were created in the wrong location.
…in C23 to follow the spec (llvm#172211)

Fixes llvm#172118

--- 

This patch resolves an issue where C23 fixed-underlying enum constants
were incorrectly treated as the underlying integer type instead of the
enumeration type.

According to C23 `6.7.2.2p15`:

> The enumeration member type of an enumerated type with a fixed
underlying type is the same as the type itself.
…lvm#173261)

Depends on:
* llvm#173238

(only last commit relevant for review)

This patch revives the `llvm::PointerIntPair` LLDB data-formatter. The
previous version was commented out because it relied on expression
evaluation and was hence slow/brittle. The formatter in this PR doesn't
rely on evaluating expressions.

Drive-by change:
* removes the `llvm::PointerUnion` formatter which was also commented
out. A future version of it will look very different than it does now,
so there's no point in keeping it because the diff won't be helpful in a
review.
…ns (llvm#173572)

Related to: llvm#167765 
This PR implements-
`BI__builtin_ia32_vcvtph2ps_mask`
`BI__builtin_ia32_vcvtph2ps256_mask`
`BI__builtin_ia32_vcvtph2ps512_mask`
…ntPair" (llvm#174673)

Reverts llvm#173261

Some bots were failing with:
```
Step 6 (build-unified-tree) failure: build (failure)
...
2.874 [7103/10/382] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
2.875 [7102/10/383] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
2.895 [7101/10/384] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
2.896 [7100/10/385] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o
2.898 [7099/10/386] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o
2.901 [7098/10/387] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
2.905 [7097/10/388] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
2.918 [7096/10/389] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
2.920 [7095/10/390] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTree.cpp.o
2.932 [7094/10/391] Building CXX object projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o
FAILED: projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o 
/opt/ccache/bin/g++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/buildbot-root/abi-test/build/projects/cross-project-tests -I/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests -I/home/buildbot/buildbot-root/abi-test/build/include -I/home/buildbot/buildbot-root/abi-test/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -g -O0 -std=c++17 -MD -MT projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o -MF projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o.d -o projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o -c /home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp: In function ‘int main()’:
/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp:25:3: error: ‘__builtin_debugtrap’ was not declared in this scope; did you mean ‘__builtin_trap’?
   25 |   __builtin_debugtrap();
      |   ^~~~~~~~~~~~~~~~~~~
      |   __builtin_trap
2.932 [7094/9/392] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
2.933 [7094/8/393] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTableEmitter.cpp.o
2.936 [7094/7/394] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderEmitter.cpp.o
2.937 [7094/6/395] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o
2.944 [7094/5/396] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
3.340 [7094/4/397] Building PPCGenTargetFeatures.inc...
3.450 [7094/3/398] Building ARMTargetParserDef.inc...
3.780 [7094/2/399] Building AArch64TargetParserDef.inc...
5.093 [7094/1/400] Building RISCVTargetParserDef.inc...
ninja: build stopped: subcommand failed.
```
llvm#174542)

This matches what we do for CLZW and other W instructions.
This adds a new page to lldb.llvm.org that includes a user guide for
lldb-dap.

The overall structure for documentation:

* https://lldb.llvm.org/resources/lldbdap.html - represents the user
facing documentation for lldb-dap, a high level overview of lldb-dap and
a place we can point users to for basic usage information.
* https://lldb.llvm.org/resources/lldbdap-contributing.html - represents
the contributing documentation for lldb-dap.
* llvm-project/lldb/tools/lldb-dap/README.md - The lldb-dap VSCode
Extension specific documentation.

This is a first pass at the documentation, I expect to expand on it
further as needed.
Summary:
The OS here is the standard CUDA support target, which is the ABI used
for all of the same intrinsics the `nvidiacl` target uses. These can be
aliases asn `cuda` in the triple is the canonical form for most all GPU
compute.
…oadStoreOptimizer (llvm#174612)

If we did not pair two viable `Xqcilsm` load/store instructions in
`RISCVLoadStoreOptimizer` we iterated over the second instruction when
looking for other pairs to merge. This leads to us missing out on
opportunities where the second instruction could have been the start of
another potential pair that could have been merged.
@z1-cciauto z1-cciauto requested a review from a team January 7, 2026 04:06
@z1-cciauto
Copy link
Collaborator Author

@z1-cciauto z1-cciauto merged commit 154b541 into amd-staging Jan 7, 2026
7 checks passed
@z1-cciauto z1-cciauto deleted the upstream_merge_202601062306 branch January 7, 2026 06:56
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.