revive-integration 1.2.0

revive compiler integration test cases
/// Probe: `byte(32, x)` — byte index 32 is out of range. EVM returns 0.
/// revive's `byte` builds a branchless mask; the question is whether the
/// truncate-to-i8 of a constant 32 + shifts produces any UB intermediate.
object "ByteOobProbe" {
    code {
        let size := datasize("ByteOobProbe_deployed")
        codecopy(0, dataoffset("ByteOobProbe_deployed"), size)
        return(0, size)
    }
    object "ByteOobProbe_deployed" {
        code {
            let tag := calldataload(0)
            let value := calldataload(32)
            let idx := shl(5, 1)  // = 32
            mstore(0, xor(byte(idx, value), tag))
            return(0, 32)
        }
    }
}