Skip to content

[AutoBump] Merge with 9387fd96 (Feb 11) (42) [torch-mlir / onnx-mlir sync point] #584

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

Open
wants to merge 318 commits into
base: bump_to_571a9872
Choose a base branch
from

Conversation

jorickert
Copy link

No description provided.

kazutakahirata and others added 30 commits February 8, 2025 11:35
…uous instrumentation profiling mode (llvm#124353)

In Continuous instrumentation profiling mode, profile or coverage data
collected via compiler instrumentation is continuously synced to the
profile file. This feature has existed for a while, and is documented
here:

https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program
This PR creates a user facing option to enable the feature.

---------

Co-authored-by: Wael Yehia <[email protected]>
Recognize the visionOS Triple::OSType::XROS os type. Some of these have
already been landed on main, but I reviewed the downstream sources and
there were a few that still needed to be landed upstream.
…des. NFC

ContractNodes recursively walks forward through a linked list. During
this recursion, Matchers are combined into other Matchers.

Previously the formation of MoveSiblingMatcher was after the
recursive call so it occurred as we were unwinding. If a
MoveSiblingMatcher was formed, we would recursively walk forward
to the end of the linked list again which isn't efficient.

To make this more efficient, move the formation of MoveSiblingMatcher
to the forward pass. Add additional rules to unfold MoveSiblingMatcher
if it would be more efficient to use CheckChildType, CheckChildInteger,
CheckChildSame, etc.

As an added benefit, this makes the function tail recursive which
the compiler can better optimize.
Somtimes when we're breaking up a large vector copy into several smaller
ones, not every single smaller source registers are initialized at the
time when the original COPY happens, and the verifier will not be
pleased when seeing the smaller copies reading from an undef register.
This patch is a workaround for the said issue by attaching an implicit
read of the source operand on the newly generated copies.

This is tested by llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll which
would have crashed the compiler without this fix when
LLVM_EXPENSIVE_CHECK is enabled. Original context:
llvm#124825 (comment)

---------

Co-authored-by: Craig Topper <[email protected]>
C++23 removed `<ciso646>` from the standard library. The header is used
in two places: Once in order to pull in standard library macros. Since
this file also includes `<optional>`, that use of `<ciso646>` is
technically redundant, but should probably be left in in case a future
change ever removes the include of `<optional>`. A second use of
`<ciso646>` appears to have been introduced in
da65009, but seems unnecessary (the
file doesn't seem to use anything from that header, and it seems to
build just fine on MSVC here without it). The new `<version>` header
should be supported by all supported implementations. This change
replaces uses of `<ciso646>` with the `<version>` header, or removes
them entirely where unnecessary.
…120277. (llvm#126349)

llvm@4b35dd5
was shipped to address llvm#120277 .

It was thought to be a regression in 19.x according to this comment:
llvm#120277 (comment)

This is a test case that fails even in 17.x but nevertheless is also
fixed by: llvm@4b35dd5
This patch just cleans up the "if" condition.  Further cleanups are
left to subsequent patches.
Follow-up as discussed when using VPInstruction::ResumePhi for all resume
values (llvm#112147). This patch explicitly adds incoming values for each
predecessor in VPlan. This simplifies codegen and allows transformations
adjusting the predecessors of blocks with

NFC modulo incoming block order in phis.
Summary:
We don't support offloading on Darwin. This fails because there's some
handling missing somewhere else that likely won't ever be added.
Delete references to:
  * `VectorLoadToMemrefLoadLowering`,
  * `VectorStoreToMemrefStoreLowering`.

These patters were removed in llvm#121454.
update_analyze_test_checks has improved the checks since these were last updated.

Reduce noise diffs in future patches.
…llvm#126119)

Summary:
This definition is more portable since it defines the correct value for
the target. I got rid of the helper mostly because I think it's easy
enough to use now that it's a type and being explicit about what's
`undef` or `poison` is good.
jorickert and others added 23 commits June 23, 2025 01:33
This reverts commit 7986e0c.
Reason for revert: This shape inference si not following tosa spec and causing problems when lowering from onnx to tosa
[AutoBump] Merge with fixes of eb206e9 (Jan 24) (21)
[AutoBump] Merge with b4e81fd (Jan 24) (20)
[AutoBump] Merge with fixes of 8388040 (Jan 23) (19)
[AutoBump] Merge with 08195f3 (Jan 23) (18)
[AutoBump] Merge with fixes of 7e622b6 (Jan 22) (17)
[AutoBump] Merge with 046b064 (Jan 20) (3) [Only tested LLVM]
[AutoBump] Merge with fixes of 5c6db8c (Jan 20) (4)
[AutoBump] Merge with a6bb8a7 (Jan 20) (5)
[AutoBump] Merge with fixes of 5ce271e (Jan 20) (8)
[AutoBump] Merge with fixes of 7a77f14 (Jan 20) (6)
[AutoBump] Merge with 57466db (Jan 20) (9)
[AutoBump] Merge with d70f54f (Jan 20) (7)
[AutoBump] Merge with 2a8c12b (Jan 21) (11)
[AutoBump] Merge with bd56950 (Jan 22) (13)
[AutoBump] Merge with 3057d0f (Jan 22) (16)
[AutoBump] Merge with fixes of 7986e0c (Jan 22) (15)
[AutoBump] Merge with fixes of 977d744 (Jan 20) (10) (May need downstream changes)
[AutoBump] Merge with fixes of 67b9d3f (Jan 21) (12)
[AutoBump] Merge with fixes of 729f958 (Jan 22) (14)
[AutoBump] Merge with 5a8fe9e (Jan 28) (22) [Torch-mlir sync point]
The `VectorTransformsOptions` on the `ConvertVectorToLLVMPass` is
currently represented as a struct, which makes it not serialisable. This
means a pass pipeline that contains this pass cannot be represented as
textual form, which breaks reproducer generation and options such as
`--dump-pass-pipeline`.

This PR expands the `VectorTransformsOptions` struct into the two
options that are actually used by the Pass' patterns:
`vector-contract-lowering` and `vector-transpose-lowering` . The other
options present in VectorTransformOptions are not used by any patterns
in this pass.

Additionally, I have changed some interfaces to only take these specific
options over the full options struct as, again, the vector contract and
transpose lowering patterns only need one of their respective options.

Finally, I have added a simple lit test that just prints the pass
pipeline using `--dump-pass-pipeline` to ensure the options on this pass
remain serialisable.

Fixes llvm#129046
[AutoBump] Merge with fixes of f494346 (Jan 18) (2) Needs onnx-mlir and torch-mlir bump
@jorickert jorickert changed the title [AutoBump] Merge with 9387fd96 (Feb 11) (42) [AutoBump] Merge with 9387fd96 (Feb 11) (42) [torch-mlir / onnx-mlir sync point] Jun 30, 2025
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.