revive-integration 1.2.0

revive compiler integration test cases
/// Probe: `shl(256, x)` — LLVM `shl i256 x, 256` is UB; EVM defines SHL with
/// count >= 256 as 0. revive's `shift_left` adds a switch+phi guard; this
/// fixture stresses whether it survives O3 const-folding.
object "ShlOverflowProbe" {
    code {
        let size := datasize("ShlOverflowProbe_deployed")
        codecopy(0, dataoffset("ShlOverflowProbe_deployed"), size)
        return(0, size)
    }
    object "ShlOverflowProbe_deployed" {
        code {
            let tag := calldataload(0)
            let value := calldataload(32)
            // count = 256, obfuscated so revive can't fold pre-LLVM
            let count := shl(8, 1)
            mstore(0, xor(shl(count, value), tag))
            return(0, 32)
        }
    }
}