You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the compiler, to produce bitcode. The LLVM version used here is defined by what llvm-project commit we fetch in CI. I'll call this version VP.
In the runtime build, to compile the native runtime code. The LLVM version used here is defined by the [EM|WASI-]SDK version we download in CI. I'll call this version VR.
In the build, we use the [EM|WASI-]SDK clang to compile this bitcode. The LLVM version used here is defined by the SDK version installed on the user's machine. I'll call this version VC.
The compatibility relationship between these versions, taking into account the fact that older LLVM bitcode can be consumed by newer LLVM versions (generally speaking), is VP <= VR == VC. VR must be equal to VC because VC is what defines the "toolchain version" of the overall static link.
We should add tests and diagnostics that verify this:
Warn the user if the SDK version doesn't match one the runtime objects were compiled against.
Fail the runtime build if llvm-project's LLVM version > SDK's LLVM version.
The text was updated successfully, but these errors were encountered:
We are using LLVM in three places:
The compatibility relationship between these versions, taking into account the fact that older LLVM bitcode can be consumed by newer LLVM versions (generally speaking), is VP <= VR == VC. VR must be equal to VC because VC is what defines the "toolchain version" of the overall static link.
We should add tests and diagnostics that verify this:
The text was updated successfully, but these errors were encountered: