{
    let x
    let y
    // Cannot be removed, because we might skip the loop
    x := 1
    for { } calldataload(0) { }
    {
        // Cannot be removed
        x := 2
        // Can be removed
        y := 3
    }
    y := 8
    mstore(x, 0)
}
// ----
// step: redundantAssignEliminator
//
// {
//     let x
//     let y
//     x := 1
//     for { } calldataload(0) { }
//     { x := 2 }
//     mstore(x, 0)
// }
