Skip to content
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

[Mono] Upgrade LLVM to 11.0 #51312

Closed
4 of 5 tasks
SamMonoRT opened this issue Apr 15, 2021 · 8 comments
Closed
4 of 5 tasks

[Mono] Upgrade LLVM to 11.0 #51312

SamMonoRT opened this issue Apr 15, 2021 · 8 comments
Assignees
Labels
area-Codegen-LLVM-mono tracking This issue is tracking the completion of other related issues.
Milestone

Comments

@SamMonoRT
Copy link
Member

SamMonoRT commented Apr 15, 2021

Tracking issue to upgrade LLVM from 9.x to 11.0 to consume newer features

  • Forward-port mono-specific patches to LLVM 11
  • Ensure dotnet/runtime builds against a local copy of patched LLVM 11
  • Enable running dotnet/runtime against a custom build of LLVM 11 on CI
  • Switch to using LLVM 11 in production

Not strictly needed

  • Verify that Apple bitcode submission works with bitcode generated by patched LLVM 11
@SamMonoRT SamMonoRT added this to the 6.0.0 milestone Apr 15, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 15, 2021
@SamMonoRT SamMonoRT removed the untriaged New issue has not been triaged by the area owner label Apr 15, 2021
@SamMonoRT
Copy link
Member Author

@SamMonoRT SamMonoRT added the tracking This issue is tracking the completion of other related issues. label Apr 15, 2021
@imhameed
Copy link
Contributor

I cherry-picked all the mono-specific patches we made to LLVM 9 and applied them to LLVM 11. This can be seen at https://github.com/imhameed/llvm-project/tree/ih-llvm11-test. The result doesn't build yet, and I am debugging that now.

@imhameed
Copy link
Contributor

imhameed commented Apr 23, 2021

Now LLVM 11 fails to build with:

[...]
Scanning dependencies of target benchmark_main
make[2]: *** No rule to make target `utils/llvm-locstats/llvm-dwarfdump', needed by `bin/llvm-locstats'.  Stop.
make[1]: *** [utils/llvm-locstats/CMakeFiles/llvm-locstats.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

EDIT: this is resolved.

@imhameed
Copy link
Contributor

The work-in-progress runtime-side changes can be found here: https://github.com/imhameed/runtime/tree/mono-llvm11

@imhameed
Copy link
Contributor

imhameed commented Apr 28, 2021

dotnet/runtime now builds against LLVM 11 for me locally. My changes are here: #51993

@imhameed
Copy link
Contributor

The CI test suite is being run against LLVM 11 here: #52984

There are some genuine failures on the LLVM AOT lanes for arm64 and amd64. I don't have access to my usual Linux work setup right now, and I can't reproduce these failures on amd64 Catalina, so I'm setting up a little Linux VM to debug this further.

@SamMonoRT
Copy link
Member Author

@imhameed - please verify that all required updates are reflected in main and we can close this issue.

@imhameed
Copy link
Contributor

This should be done.

@ghost ghost locked as resolved and limited conversation to collaborators Jul 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Codegen-LLVM-mono tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

No branches or pull requests

2 participants