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:
[x] have a fork of mlir-sys under lambdaclass org
[x] have a fork of llvm-sys under lambdaclass org
[x] have a fork of tblgen under lambdaclass org
[x] have a fork of melior under lambdaclass org
[ ] script + dockerfile to build and package LLVM and upload the result as an artifact. This script and dockerfile could also be used by clients to build their deps if necessary
Our current dependency chain looks more or less like:
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: