Skip to content

Commit 9bfa232

Browse files
Update strategy. (#7563)
1 parent 601557f commit 9bfa232

File tree

30 files changed

+25337
-25563
lines changed

30 files changed

+25337
-25563
lines changed

crates/cairo-lang-lowering/src/inline/test_data/inline

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -875,35 +875,32 @@ End:
875875

876876
blk6:
877877
Statements:
878+
(v11: (core::integer::u128,)) <- struct_construct(v0)
879+
(v12: core::panics::PanicResult::<(core::integer::u128,)>) <- PanicResult::Ok(v11)
878880
End:
879-
Goto(blk9, {v0 -> v11})
881+
Goto(blk4, {v12 -> v3})
880882

881883
blk7:
882884
Statements:
883885
End:
884886
Match(match core::integer::u128_overflowing_add(v1, v0) {
885-
Result::Ok(v12) => blk8,
886-
Result::Err(v13) => blk10,
887+
Result::Ok(v13) => blk8,
888+
Result::Err(v14) => blk9,
887889
})
888890

889891
blk8:
890892
Statements:
893+
(v15: (core::integer::u128,)) <- struct_construct(v13)
894+
(v16: core::panics::PanicResult::<(core::integer::u128,)>) <- PanicResult::Ok(v15)
891895
End:
892-
Goto(blk9, {v12 -> v11})
896+
Goto(blk4, {v16 -> v3})
893897

894898
blk9:
895899
Statements:
896-
(v14: (core::integer::u128,)) <- struct_construct(v11)
897-
(v15: core::panics::PanicResult::<(core::integer::u128,)>) <- PanicResult::Ok(v14)
900+
(v17: (core::panics::Panic, core::array::Array::<core::felt252>)) <- core::panic_with_const_felt252::<39878429859757942499084499860145094553463>()
901+
(v18: core::panics::PanicResult::<(core::integer::u128,)>) <- PanicResult::Err(v17)
898902
End:
899-
Goto(blk4, {v15 -> v3})
900-
901-
blk10:
902-
Statements:
903-
(v16: (core::panics::Panic, core::array::Array::<core::felt252>)) <- core::panic_with_const_felt252::<39878429859757942499084499860145094553463>()
904-
(v17: core::panics::PanicResult::<(core::integer::u128,)>) <- PanicResult::Err(v16)
905-
End:
906-
Goto(blk4, {v17 -> v3})
903+
Goto(blk4, {v18 -> v3})
907904

908905
//! > lowering_diagnostics
909906

crates/cairo-lang-lowering/src/optimizations/strategy.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,11 @@ pub fn baseline_optimization_strategy(db: &dyn LoweringGroup) -> OptimizationStr
130130
OptimizationPhase::OptimizeMatches,
131131
OptimizationPhase::ReorganizeBlocks,
132132
OptimizationPhase::CancelOps,
133-
OptimizationPhase::ReorderStatements,
134133
OptimizationPhase::ReorganizeBlocks,
135134
OptimizationPhase::DedupBlocks,
135+
// Re-run ReturnOptimization to eliminate harmful merges introduced by DedupBlocks.
136+
OptimizationPhase::ReturnOptimization,
137+
OptimizationPhase::ReorderStatements,
136138
OptimizationPhase::ReorganizeBlocks,
137139
])
138140
.intern(db)
@@ -148,13 +150,6 @@ pub fn final_optimization_strategy(db: &dyn LoweringGroup) -> OptimizationStrate
148150
OptimizationPhase::TrimUnreachable,
149151
OptimizationPhase::LowerImplicits,
150152
OptimizationPhase::ReorganizeBlocks,
151-
OptimizationPhase::CancelOps,
152-
OptimizationPhase::ReorderStatements,
153-
OptimizationPhase::ReorganizeBlocks,
154-
OptimizationPhase::DedupBlocks,
155-
OptimizationPhase::ReorganizeBlocks,
156-
OptimizationPhase::ReturnOptimization,
157-
OptimizationPhase::ReorganizeBlocks,
158153
])
159154
.intern(db)
160155
}

crates/cairo-lang-lowering/src/optimizations/test_data/match_optimization

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,10 +1902,10 @@ End:
19021902

19031903
blk1:
19041904
Statements:
1905-
(v5: core::option::Option::<@core::box::Box::<[core::felt252; 4]>>) <- Option::Some(v3)
1906-
(v6: core::array::Span::<core::felt252>) <- struct_construct(v2)
1905+
(v5: core::array::Span::<core::felt252>) <- struct_construct(v2)
1906+
(v6: core::option::Option::<@core::box::Box::<[core::felt252; 4]>>) <- Option::Some(v3)
19071907
End:
1908-
Goto(blk3, {v6 -> v7, v5 -> v8})
1908+
Goto(blk3, {v5 -> v7, v6 -> v8})
19091909

19101910
blk2:
19111911
Statements:
@@ -1948,9 +1948,9 @@ End:
19481948

19491949
blk1:
19501950
Statements:
1951-
(v6: core::array::Span::<core::felt252>) <- struct_construct(v2)
1951+
(v5: core::array::Span::<core::felt252>) <- struct_construct(v2)
19521952
End:
1953-
Goto(blk4, {v3 -> v12, v6 -> v18})
1953+
Goto(blk4, {v3 -> v12, v5 -> v18})
19541954

19551955
blk2:
19561956
Statements:

crates/cairo-lang-lowering/src/test_data/extern

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -397,19 +397,15 @@ End:
397397

398398
blk1:
399399
Statements:
400+
(v6: core::gas::GasBuiltin) <- core::gas::redeposit_gas(v3)
400401
End:
401-
Goto(blk3, {v3 -> v6, v2 -> v7})
402+
Return(v2, v6)
402403

403404
blk2:
404405
Statements:
406+
(v7: core::gas::GasBuiltin) <- core::gas::redeposit_gas(v5)
405407
End:
406-
Goto(blk3, {v5 -> v6, v4 -> v7})
407-
408-
blk3:
409-
Statements:
410-
(v8: core::gas::GasBuiltin) <- core::gas::redeposit_gas(v6)
411-
End:
412-
Return(v7, v8)
408+
Return(v4, v7)
413409

414410
//! > ==========================================================================
415411

crates/cairo-lang-starknet/cairo_level_tests/abi_dispatchers_tests.cairo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ fn test_validate_gas_cost() {
112112
assert!(
113113
call_building_gas_usage == 4030
114114
&& serialization_gas_usage == 31070
115-
&& entry_point_gas_usage == 144240,
115+
&& entry_point_gas_usage == 142740,
116116
"Unexpected gas_usage:
117117
call_building: `{call_building_gas_usage}`.
118118
serialization: `{serialization_gas_usage}`.

crates/cairo-lang-starknet/cairo_level_tests/interoperability.cairo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ fn test_flow_safe_dispatcher() {
7979
}
8080

8181
// If the test is failing due to gas usage changes, update the gas limit by taking `test_flow` test
82-
// gas usage and add about 96000.
82+
// gas usage and add about 94000.
8383
#[test]
84-
#[available_gas(805080)]
84+
#[available_gas(804080)]
8585
#[should_panic(expected: ('Out of gas', 'ENTRYPOINT_FAILED'))]
8686
fn test_flow_out_of_gas() {
8787
// Calling the `test_flow` test but a low gas limit.

0 commit comments

Comments
 (0)