-
Notifications
You must be signed in to change notification settings - Fork 34
Future: Investigate using analysis/optimization framework from move-prover. #204
Comments
These are good to have but we can postpone this work until stage 3. |
I found that compilation of So the optimizations may wait but we need to take a deeper look at |
see more about |
When I compile unit tests using move-cli with Solana backend., everything compiles correctly, including the
The command to reproduce the compilation follows
This will compile all of stdlib source file along with all stdlib unit test files. As it happens, any Move unit test depends on stdlib, and when move-cli builds the stdlib in test mode, it also compiles all stdlib unit tests. |
Currently we use only the baseline move-prover generated stackless bytecode as input to our translation. However, the prover also provides a number of potentially useful analyses and optimizations that could improve our input code. Moreover, some of these are fairly nice generic frameworks (e.g., a generic dataflow analysis framework and a generic interprocedural compositional analysis framework) that we could build our own stackless bytecode analyses and optimizations on.
Some of the analyses/optimizations are targeted only to the "specification" language, but others are generally applicable. Below is their default pipeline:
Of course we're generating LLVM IR and we let LLVM do much of the optimization heavy lifting. But in addition to the fact that running the prover pipeline may give us better input SBC to begin with, there may be other domain/Move-specific analyses/optimizations that are easier to apply on SBC as opposed to later in LLVM.
The text was updated successfully, but these errors were encountered: