matter-labs / era-compiler-llvm

ZKsync fork of the LLVM framework.
Other
33 stars 16 forks source link

[EraVM][EVM] Use std::string instead of Twine #734

Closed vladimirradosavljevic closed 2 weeks ago

vladimirradosavljevic commented 2 weeks ago

Twine variables are prone to use-after-free bugs, as it is stated in the clang-tidy documentation: https://clang.llvm.org/extra/clang-tidy/checks/llvm/twine-local.html

github-actions[bot] commented 2 weeks ago
╔═╡ Size (-%) ╞════════════════╡ All M3B3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞══════════════╡ All M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞════════════════╡ All M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞════════════════╡ All M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞════════════════╡ All MzB3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞══════════════╡ All MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞════════════════╡ All MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞════════════════╡ All MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╠═╡ Cycles (-%) ╞═══╡ EVMInterpreter M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞═════╡ EVMInterpreter M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs/gas ╞══════╡ EVMInterpreter M3B3 ╞═╣
║ ADD                                28.083 ║
║ MUL                                16.850 ║
║ SUB                                28.083 ║
║ DIV                                19.250 ║
║ SDIV                               36.050 ║
║ MOD                                19.250 ║
║ SMOD                               33.650 ║
║ ADDMOD                             18.156 ║
║ MULMOD                             16.656 ║
║ EXP                                 6.904 ║
║ SIGNEXTEND                         19.250 ║
║ LT                                 32.083 ║
║ GT                                 32.083 ║
║ SLT                                54.083 ║
║ SGT                                54.083 ║
║ EQ                                 32.083 ║
║ ISZERO                             27.750 ║
║ AND                                28.083 ║
║ OR                                 28.083 ║
║ XOR                                28.083 ║
║ NOT                                23.750 ║
║ BYTE                               38.083 ║
║ SHL                                34.083 ║
║ SHR                                34.083 ║
║ SAR                                52.083 ║
║ SGT                                54.083 ║
║ SHA3                               25.073 ║
║ ADDRESS                            41.812 ║
║ BALANCE                            20.924 ║
║ ORIGIN                           1351.625 ║
║ CALLER                             41.812 ║
║ CALLVALUE                          41.812 ║
║ CALLDATALOAD                       26.083 ║
║ CALLDATASIZE                       42.125 ║
║ CALLDATACOPY                       49.492 ║
║ CODESIZE                           45.625 ║
║ CODECOPY                           62.456 ║
║ GASPRICE                         1348.438 ║
║ EXTCODESIZE                         3.635 ║
║ EXTCODECOPY                         3.723 ║
║ RETURNDATASIZE                     43.500 ║
║ RETURNDATACOPY                     44.556 ║
║ EXTCODEHASH                         4.651 ║
║ BLOCKHASH                         238.819 ║
║ COINBASE                         1348.625 ║
║ TIMESTAMP                        1342.625 ║
║ NUMBER                           1342.625 ║
║ PREVRANDAO                       1342.625 ║
║ GASLIMIT                         1348.625 ║
║ CHAINID                          1336.625 ║
║ SELFBALANCE                       639.250 ║
║ BASEFEE                          1342.625 ║
║ POP                                39.125 ║
║ MLOAD                              43.667 ║
║ MSTORE                             55.248 ║
║ MSTORE8                            64.716 ║
║ SLOAD                              19.044 ║
║ SSTORE                              4.467 ║
║ JUMP                               15.667 ║
║ JUMPI                              15.636 ║
║ PC                                 42.312 ║
║ MSIZE                              48.812 ║
║ GAS                                42.312 ║
║ JUMPDEST                           59.625 ║
║ PUSH0                              42.312 ║
║ PUSH1                              37.958 ║
║ PUSH2                              43.375 ║
║ PUSH4                              46.208 ║
║ PUSH5                              47.625 ║
║ PUSH6                              49.042 ║
║ PUSH7                              50.458 ║
║ PUSH8                              51.875 ║
║ PUSH9                              53.292 ║
║ PUSH10                             54.708 ║
║ PUSH11                             56.125 ║
║ PUSH12                             57.542 ║
║ PUSH13                             58.958 ║
║ PUSH14                             60.375 ║
║ PUSH15                             61.792 ║
║ PUSH16                             63.208 ║
║ PUSH17                             64.625 ║
║ PUSH18                             66.042 ║
║ PUSH19                             67.458 ║
║ PUSH20                             68.875 ║
║ PUSH21                             70.292 ║
║ PUSH22                             71.708 ║
║ PUSH23                             73.125 ║
║ PUSH24                             74.542 ║
║ PUSH25                             75.958 ║
║ PUSH26                             77.375 ║
║ PUSH27                             78.792 ║
║ PUSH28                             80.208 ║
║ PUSH29                             81.625 ║
║ PUSH30                             83.042 ║
║ PUSH31                             84.458 ║
║ PUSH32                             85.875 ║
║ DUP1                               26.083 ║
║ DUP2                               32.417 ║
║ DUP3                               32.417 ║
║ DUP4                               32.417 ║
║ DUP5                               32.417 ║
║ DUP6                               32.417 ║
║ DUP7                               32.417 ║
║ DUP8                               32.417 ║
║ DUP9                               32.417 ║
║ DUP10                              32.417 ║
║ DUP11                              32.417 ║
║ DUP12                              32.417 ║
║ DUP13                              32.417 ║
║ DUP14                              32.417 ║
║ DUP15                              32.417 ║
║ DUP16                              32.417 ║
║ SWAP1                              32.417 ║
║ SWAP2                              32.417 ║
║ SWAP3                              32.417 ║
║ SWAP4                              32.417 ║
║ SWAP5                              32.417 ║
║ SWAP6                              32.417 ║
║ SWAP7                              32.417 ║
║ SWAP8                              32.417 ║
║ SWAP9                              32.417 ║
║ SWAP10                             32.417 ║
║ SWAP11                             32.417 ║
║ SWAP12                             32.417 ║
║ SWAP13                             32.417 ║
║ SWAP14                             32.417 ║
║ SWAP15                             32.417 ║
║ SWAP16                             32.417 ║
║ CALL                               34.125 ║
║ STATICCALL                         34.095 ║
║ DELEGATECALL                       33.175 ║
║ CREATE                              3.713 ║
║ CREATE2                             5.009 ║
║ RETURN                              1.000 ║
║ REVERT                              1.000 ║
╠═╡ Ergs/gas (-%) ╞═╡ EVMInterpreter M3B3 ╞═╣
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╠═╡ Cycles (-%) ╞═══╡ EVMInterpreter MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞═════╡ EVMInterpreter MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞════════╡ Precompiles M3B3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞══════╡ Precompiles M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞════════╡ Precompiles M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞════════╡ Precompiles M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞════════╡ Precompiles MzB3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞══════╡ Precompiles MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞════════╡ Precompiles MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞════════╡ Precompiles MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞══════════╡ Real life M3B3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞════════╡ Real life M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞══════════╡ Real life M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞══════════╡ Real life M3B3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╚═══════════════════════════════════════════╝

╔═╡ Size (-%) ╞══════════╡ Real life MzB3 ╞═╗
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Cycles (-%) ╞════════╡ Real life MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠═╡ Ergs (-%) ╞══════════╡ Real life MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                               0.000 ║
╠══╡ Gas (-%) ╞══════════╡ Real life MzB3 ╞═╣
║ Best                                0.000 ║
║ Worst                               0.000 ║
║ Total                                 NaN ║
╚═══════════════════════════════════════════╝