Start reuse

This commit is contained in:
J.Teeuwissen 2023-03-08 14:22:51 +01:00
parent e5a5108fd8
commit ca4615929b
No known key found for this signature in database
GPG key ID: DB5F7A1ED8D478AD
4 changed files with 460 additions and 22 deletions

View file

@ -30,6 +30,7 @@ use roc_module::symbol::{
IdentIds, IdentIdsByModule, Interns, ModuleId, ModuleIds, PQModuleName, PackageModuleIds,
PackageQualified, Symbol,
};
use roc_mono::fl_reuse;
use roc_mono::ir::{
CapturedSymbols, ExternalSpecializations, PartialProc, Proc, ProcLayout, Procs, ProcsBase,
UpdateModeIds,
@ -3128,6 +3129,17 @@ fn update<'a>(
debug_print_ir!(state, &layout_interner, ROC_PRINT_IR_AFTER_REFCOUNT);
fl_reuse::insert_reset_reuse_operations(
arena,
&mut layout_interner,
module_id,
ident_ids,
&mut update_mode_ids,
&mut state.procedures,
);
debug_print_ir!(state, &layout_interner, ROC_PRINT_IR_AFTER_RESET_REUSE);
// This is not safe with the new non-recursive RC updates that we do for tag unions
//
// Proc::optimize_refcount_operations(