reilabs / hieratika

Efforts to compile LLVM bytecode to run on top of the CairoVM and hence execute provably on Starknet
http://starknet.io
Apache License 2.0
1 stars 0 forks source link

Design the Memory Representation (Initial) #29

Open ktemkin opened 1 month ago

ktemkin commented 1 month ago

Description

LLVM’s assumption of R/W memory and registers does not fit with the memory model used by the Cairo VM. We can either take the SSA form and treat the target as an infinite-register machine, or we can emulate R/W memory directly.

For this initial design phase we want to do the bare minimum to get mostly-correct semantics as far as the LLVM IR expects. This task includes designing the assignment model and the semantics of the operations on pointers.

iamrecursion commented 1 day ago

To add a bit more information to this: