solidity/test/libyul/yulOptimizerTests/ssaTransform/switch.yul

30 lines
603 B
Plaintext

{
let a := mload(0)
// This could be more efficient:
// all cases could use the value of the variable from just before
// the switch and not just the first
switch a
case 0 { a := add(a, 4) }
default { a := add(a, 8) }
mstore(0, a)
}
// ====
// step: ssaTransform
// ----
// {
// let a_1 := mload(0)
// let a := a_1
// switch a_1
// case 0 {
// let a_2 := add(a_1, 4)
// a := a_2
// }
// default {
// let a_4 := a
// let a_3 := add(a_4, 8)
// a := a_3
// }
// let a_5 := a
// mstore(0, a_5)
// }