lambdaclass / cairo_native

A compiler to convert Cairo's intermediate representation "Sierra" code to MLIR.
https://lambdaclass.github.io/cairo_native/cairo_native
Apache License 2.0
118 stars 43 forks source link

Support depending on arbitrary versions of LLVM #800

Open igaray opened 1 month ago

igaray commented 1 month ago

Our current dependency chain looks more or less like:

stateDiagram-v2
    direction LR
    state native
    state melior
    state "mlir-sys" as mlirsys
    state "llvm-sys" as llvmsys
    state tblgen
    state "OS package manager" as package
    state LLVM
    native --> melior
    melior --> mlirsys
    melior --> llvmsys
    melior --> tblgen
    mlirsys --> package
    llvmsys --> package
    tblgen --> package
    package --> LLVM

When we require changes or fixes in LLVM we are currently forced to wait until the entire dep chain is updated. We should have a way for (at least) our CI to be able to use any version of LLVM specified by a git SHA.

We need to 1) outline a plan of steps necessary for this:

edg-l commented 1 month ago