Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[mono] Run runtime-llvm and runtime-ioslike on Mono LLVM PRs #111614

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 commits into from
Jan 22, 2025

Conversation

matouskozak
Copy link
Member

@matouskozak matouskozak commented Jan 20, 2025

This PR enables running of runtime-llvm and runtime-ioslike pipelines, by default, on PRs touching the following code:

  • src/mono/mono/mini/aot-*.*
  • src/mono/mono/mini/llvm-*.*
  • src/mono/mono/mini/mini-llvm-*.*
  • src/mono/mono/mini/intrinsics.c
  • src/mono/mono/mini/simd-*.*
  • src/mono/mono/mini/decompose.c
  • src/mono/mono/mini/method-to-ir.c
  • src/mono/mono/mini/mini.c

This is to ensure that we have proper coverage over Mono AOT-llvm when changes are made as we don't test these scenarios as part of the runtime pipeline.

Note: we need to enable runtime-ioslike in addition to runtime-llvm because we are currently missing coverage for arm64 AOT Linux scenario (#90427). runtime-ioslike provides coverage over arm64-based TvOS devices which run AOT-llvm by default.


Follow-up: Remove the setting in the AzDO pipeline settings to trigger on comments only

Copy link
Contributor

Tagging subscribers to this area: @akoeplinger, @matouskozak
See info in area-owners.md if you want to be subscribed.

@matouskozak
Copy link
Member Author

@tannergooding @lateralusX are there any other critical files that when modified, should trigger the Mono LLVM pipelines?

@lateralusX
Copy link
Member

lateralusX commented Jan 21, 2025

We have the llvmonly-*, but they are only interesting on platforms running using llvmonly mode, so not sure the current runtime-llvm or runtime-ioslike pipelines will use anything using triggering llvmonly codegen.

Any file under mini that would affect code generation could also be affecting LLVM code generation when changed that could in theory break LLVM AOT compilation/runtime, but if we are going to pick something additional, then maybe method-to-ir.c, decompose.c and mini.c.

@matouskozak
Copy link
Member Author

We have the llvmonly-*, but they are only interesting on platforms running using llvmonly mode, so not sure the current runtime-llvm or runtime-ioslike pipelines will use anything using triggering llvmonly codegen.

I don't think anything there runs in llvmonly mode. We used to have llvmonly on watchOS but that is no longer tested/supported.

then maybe method-to-ir.c, decompose.c and mini.c.

Thank you, I'll add those.

@matouskozak matouskozak merged commit 41e2b8c into dotnet:main Jan 22, 2025
145 of 147 checks passed
@matouskozak
Copy link
Member Author

/backport to release/9.0-staging

Copy link
Contributor

Started backporting to release/9.0-staging: https://github.com/dotnet/runtime/actions/runs/12925542809

@matouskozak
Copy link
Member Author

/backport to release/8.0-staging

Copy link
Contributor

Started backporting to release/8.0-staging: https://github.com/dotnet/runtime/actions/runs/12926487412

Copy link
Contributor

@matouskozak backporting to "release/8.0-staging" failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Enable runtime-llvm and -ioslike on Mono LLVM PRs
Using index info to reconstruct a base tree...
M	eng/pipelines/runtime-llvm.yml
Falling back to patching base and 3-way merge...
Auto-merging eng/pipelines/runtime-llvm.yml
CONFLICT (content): Merge conflict in eng/pipelines/runtime-llvm.yml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0001 Enable runtime-llvm and -ioslike on Mono LLVM PRs
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants