mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
commit
87943bf444
@ -184,6 +184,18 @@ void OptimiserSuite::run(
|
|||||||
}, ast);
|
}, ast);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// Prune a bit more in SSA
|
||||||
|
suite.runSequence({
|
||||||
|
ExpressionSplitter::name,
|
||||||
|
SSATransform::name,
|
||||||
|
RedundantAssignEliminator::name,
|
||||||
|
UnusedPruner::name,
|
||||||
|
RedundantAssignEliminator::name,
|
||||||
|
UnusedPruner::name,
|
||||||
|
}, ast);
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// Turn into SSA again and simplify
|
// Turn into SSA again and simplify
|
||||||
suite.runSequence({
|
suite.runSequence({
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
let x := 0
|
||||||
|
switch mload(x)
|
||||||
|
case 0 { x := x }
|
||||||
|
case 1 { x := 1 }
|
||||||
|
default { invalid() }
|
||||||
|
mstore(1, 1)
|
||||||
|
}
|
||||||
|
// ====
|
||||||
|
// step: fullSuite
|
||||||
|
// ----
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// switch mload(0)
|
||||||
|
// case 0 { }
|
||||||
|
// case 1 { }
|
||||||
|
// default { invalid() }
|
||||||
|
// mstore(1, 1)
|
||||||
|
// }
|
||||||
|
// }
|
Loading…
Reference in New Issue
Block a user