Merge pull request #4836 from roc-lang/intern-layouts-2

Intern list element layouts and thread mut layout interner through LLVM backend
This commit is contained in:
Ayaz 2022-12-29 18:41:35 -06:00 committed by GitHub
commit ea53a50447
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 1482 additions and 670 deletions

View file

@ -99,7 +99,7 @@ fn create_llvm_module<'a>(
let MonomorphizedModule {
procedures,
interns,
layout_interner,
mut layout_interner,
..
} = loaded;
@ -216,7 +216,6 @@ fn create_llvm_module<'a>(
// Compile and add all the Procs before adding main
let env = roc_gen_llvm::llvm::build::Env {
arena,
layout_interner: &layout_interner,
builder: &builder,
dibuilder: &dibuilder,
compile_unit: &compile_unit,
@ -257,12 +256,14 @@ fn create_llvm_module<'a>(
LlvmBackendMode::CliTest => unreachable!(),
LlvmBackendMode::WasmGenTest => roc_gen_llvm::llvm::build::build_wasm_test_wrapper(
&env,
&mut layout_interner,
config.opt_level,
procedures,
entry_point,
),
LlvmBackendMode::GenTest => roc_gen_llvm::llvm::build::build_procedures_return_main(
&env,
&mut layout_interner,
config.opt_level,
procedures,
entry_point,