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

Generate LLVM IR instead of native assembler code #6853

Merged
merged 24 commits into from
Mar 29, 2022

Conversation

grendello
Copy link
Contributor

Instead of continuing to generate native assembler code, as we've been doing for a while now, switch to
generating LLVM IR sources. This has the advantage that LLVM takes
care for us of generating valid native assembler code, making sure it adheres to all the ABI requirements
of the target platform. It also makes it easier, in future, to generate actual executable code instead of
just data as we do now.

Once the LLVM IR is generated, the llc utility from LLVM is used to generate the actual native assembler
code. LLVM IR files are larger than the native assembler ones we've been generating so far, because of the
language's verbosity, but we generate less of them.

This PR covers generation of compressed assemblies, application environment and typemap sources.

@grendello grendello marked this pull request as ready for review March 25, 2022 11:52
Copy link
Member

@jonathanpeppers jonathanpeppers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything in the src/Xamarin.Android.Build.Tasks folder looks OK to me. 👍

@jonpryor jonpryor merged commit 5271f3e into dotnet:main Mar 29, 2022
@grendello grendello deleted the llvm-ir branch March 29, 2022 19:20
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants