-
Notifications
You must be signed in to change notification settings - Fork 220
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
Move ACIR optimisation pass out of Evaluator module #658
Comments
Why do you want to do this? |
This is wanted so that we can generate backend-agnostic build artifacts which can be tailored to a particular backend rather than having to compile again from source. We need to return unoptimised ACIR to nargo in order to do this. I took a quick look at separating this out. This is quite simple for the evaluator however we also bake in knowledge about the backend in the frontend when dealing with foreign functions Related noir-lang/acvm#43 |
@TomAFrench what is the status of this? |
This is addressed now as the optimiser is called by |
This is a tracking issue for a TODO from the PR #647 and is also made to gather opinions.
The idea being that the Evaluator simply produces the ACIR, then the Driver or nargo calls
acvm::compile
to optimise the ACIR, instead of doing the optimisation inside of the Evaluator.This allows us to separate the optimisation being done by ACVM from the Evaluator which is producing ACVM.
The text was updated successfully, but these errors were encountered: