Skip to content

Commit

Permalink
Fix test_function_lowering_phases. (#2525)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyalesokhin-starkware authored Mar 16, 2023
1 parent f3d940a commit 4e96715
Show file tree
Hide file tree
Showing 2 changed files with 369 additions and 118 deletions.
20 changes: 14 additions & 6 deletions crates/cairo-lang-lowering/src/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use crate::db::LoweringGroup;
use crate::fmt::LoweredFormatter;
use crate::implicits::lower_implicits;
use crate::inline::apply_inlining;
use crate::optimizations::match_optimizer::optimize_matches;
use crate::optimizations::remappings::optimize_remappings;
use crate::panic::lower_panics;
use crate::test_utils::LoweringDatabaseForTesting;
Expand Down Expand Up @@ -110,17 +111,20 @@ fn test_function_lowering_phases(
let mut after_lower_implicits = after_lower_panics.clone();
lower_implicits(db, concrete_function, &mut after_lower_implicits);

let mut after_optimize_remappings = after_lower_implicits.clone();
optimize_remappings(&mut after_optimize_remappings);
let mut after_optimize_matches = after_lower_implicits.clone();
optimize_matches(&mut after_optimize_matches);

let mut after_topological_sort = after_optimize_remappings.clone();
let mut after_topological_sort = after_optimize_matches.clone();
topological_sort(&mut after_topological_sort);

let mut after_optimize_remappings = after_topological_sort.clone();
optimize_remappings(&mut after_optimize_remappings);

let after_all = db.concrete_function_with_body_lowered(concrete_function).unwrap();

// This asserts that we indeed follow the logic of `concrete_function_with_body_lowered`.
// If something is changed there, it should be changed here too.
assert_eq!(*after_all, after_topological_sort);
assert_eq!(*after_all, after_optimize_remappings);

let diagnostics = db.module_lowering_diagnostics(test_function.module_id).unwrap();

Expand All @@ -131,8 +135,12 @@ fn test_function_lowering_phases(
("after_inlining".into(), formatted_lowered(db, &after_inlining)),
("after_lower_panics".into(), formatted_lowered(db, &after_lower_panics)),
("after_lower_implicits".into(), formatted_lowered(db, &after_lower_implicits)),
("after_optimize_remappings".into(), formatted_lowered(db, &after_optimize_remappings)),
("after_topological_sort (final)".into(), formatted_lowered(db, &after_topological_sort)),
("after_optimize_matches".into(), formatted_lowered(db, &after_optimize_matches)),
("after_topological_sort".into(), formatted_lowered(db, &after_topological_sort)),
(
"after_optimize_remappings (final)".into(),
formatted_lowered(db, &after_optimize_remappings),
),
])
}

Expand Down
Loading

0 comments on commit 4e96715

Please sign in to comment.