revive-integration 1.3.0

revive compiler integration test cases
// SPDX-License-Identifier: MIT

pragma solidity ^0.8;

contract ExtCode {
    function ExtCodeSize(address who) public view returns (uint ret) {
        assembly {
            ret := extcodesize(who)
        }
    }

    // Two distinct addresses queried in a single function body: regression guard
    // for the `code_size` import memory-attribute bug where LLVM CSE'd the two
    // syscalls into one and returned `2 * extcodesize(a)`.
    function ExtCodeSizeSum(address a, address b) public view returns (uint ret) {
        assembly {
            ret := add(extcodesize(a), extcodesize(b))
        }
    }

    function CodeSize() public pure returns (uint ret) {
        assembly {
            ret := codesize()
        }
    }

    function ExtCodeHash(address who) public view returns (bytes32 ret) {
        assembly {
            ret := extcodehash(who)
        }
    }

    function CodeHash() public view returns (bytes32 ret) {
        assembly {
            ret := extcodehash(address())
        }
    }
}