Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christianparpart/c018f5821efb8540777f85341af28b9c to your computer and use it in GitHub Desktop.
Save christianparpart/c018f5821efb8540777f85341af28b9c to your computer and use it in GitHub Desktop.
soltest.exe!solidity::yul::StructuralSimplifier::simplify(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _statements) Line 129
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(129)
soltest.exe!solidity::yul::StructuralSimplifier::operator()(solidity::yul::Block & _block) Line 92
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(92)
soltest.exe!solidity::yul::ASTModifier::operator()(solidity::yul::If & _if) Line 130
at C:\source\ethereum\solidity\libyul\optimiser\ASTWalker.cpp(130)
[External Code]
soltest.exe!solidity::yul::ASTModifier::visit(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _st) Line 176
at C:\source\ethereum\solidity\libyul\optimiser\ASTWalker.cpp(176)
soltest.exe!solidity::yul::StructuralSimplifier::simplify::__l2::<lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _stmt) Line 126
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(126)
soltest.exe!solidity::util::iterateReplacing<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &)>(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _vector, const solidity::yul::StructuralSimplifier::simplify::__l2::std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &) & _f) Line 467
at C:\source\ethereum\solidity\libsolutil\CommonData.h(467)
soltest.exe!solidity::yul::StructuralSimplifier::simplify(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _statements) Line 129
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(129)
soltest.exe!solidity::yul::StructuralSimplifier::operator()(solidity::yul::Block & _block) Line 92
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(92)
soltest.exe!solidity::yul::ASTModifier::operator()(solidity::yul::If & _if) Line 130
at C:\source\ethereum\solidity\libyul\optimiser\ASTWalker.cpp(130)
[External Code]
soltest.exe!solidity::yul::ASTModifier::visit(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _st) Line 176
at C:\source\ethereum\solidity\libyul\optimiser\ASTWalker.cpp(176)
soltest.exe!solidity::yul::StructuralSimplifier::simplify::__l2::<lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _stmt) Line 126
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(126)
soltest.exe!solidity::util::iterateReplacing<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &)>(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _vector, const solidity::yul::StructuralSimplifier::simplify::__l2::std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &) & _f) Line 467
at C:\source\ethereum\solidity\libsolutil\CommonData.h(467)
soltest.exe!solidity::yul::StructuralSimplifier::simplify(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _statements) Line 129
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(129)
soltest.exe!solidity::yul::StructuralSimplifier::operator()(solidity::yul::Block & _block) Line 92
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(92)
[External Code]
soltest.exe!solidity::yul::ASTModifier::visit(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _st) Line 176
at C:\source\ethereum\solidity\libyul\optimiser\ASTWalker.cpp(176)
soltest.exe!solidity::yul::StructuralSimplifier::simplify::__l2::<lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> & _stmt) Line 126
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(126)
soltest.exe!solidity::util::iterateReplacing<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &)>(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _vector, const solidity::yul::StructuralSimplifier::simplify::__l2::std::optional<std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>>> <lambda>(std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block> &) & _f) Line 467
at C:\source\ethereum\solidity\libsolutil\CommonData.h(467)
soltest.exe!solidity::yul::StructuralSimplifier::simplify(std::vector<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>,std::allocator<std::variant<solidity::yul::ExpressionStatement,solidity::yul::Assignment,solidity::yul::VariableDeclaration,solidity::yul::FunctionDefinition,solidity::yul::If,solidity::yul::Switch,solidity::yul::ForLoop,solidity::yul::Break,solidity::yul::Continue,solidity::yul::Leave,solidity::yul::Block>>> & _statements) Line 129
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(129)
soltest.exe!solidity::yul::StructuralSimplifier::operator()(solidity::yul::Block & _block) Line 92
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(92)
soltest.exe!solidity::yul::StructuralSimplifier::run(solidity::yul::OptimiserStepContext & __formal, solidity::yul::Block & _ast) Line 86
at C:\source\ethereum\solidity\libyul\optimiser\StructuralSimplifier.cpp(86)
soltest.exe!solidity::yul::OptimiserStepInstance<solidity::yul::StructuralSimplifier>::run(solidity::yul::OptimiserStepContext & _context, solidity::yul::Block & _ast) Line 82
at C:\source\ethereum\solidity\libyul\optimiser\OptimiserStep.h(82)
soltest.exe!solidity::yul::OptimiserSuite::runSequence(const std::vector<std::string,std::allocator<std::string>> & _steps, solidity::yul::Block & _ast) Line 436
at C:\source\ethereum\solidity\libyul\optimiser\Suite.cpp(436)
soltest.exe!solidity::yul::OptimiserSuite::runSequence(std::basic_string_view<char,std::char_traits<char>> _stepAbbreviations, solidity::yul::Block & _ast, bool _repeatUntilStable) Line 413
at C:\source\ethereum\solidity\libyul\optimiser\Suite.cpp(413)
soltest.exe!solidity::yul::OptimiserSuite::run(const solidity::yul::Dialect & _dialect, const solidity::yul::GasMeter * _meter, solidity::yul::Object & _object, bool _optimizeStackAllocation, std::basic_string_view<char,std::char_traits<char>> _optimisationSequence, std::optional<unsigned __int64> _expectedExecutionsPerDeployment, const std::set<solidity::yul::YulString,std::less<solidity::yul::YulString>,std::allocator<solidity::yul::YulString>> & _externallyUsedIdentifiers) Line 130
at C:\source\ethereum\solidity\libyul\optimiser\Suite.cpp(130)
soltest.exe!solidity::yul::AssemblyStack::optimize(solidity::yul::Object & _object, bool _isCreation) Line 206
at C:\source\ethereum\solidity\libyul\AssemblyStack.cpp(206)
soltest.exe!solidity::yul::AssemblyStack::optimize(solidity::yul::Object & _object, bool _isCreation) Line 200
at C:\source\ethereum\solidity\libyul\AssemblyStack.cpp(200)
soltest.exe!solidity::yul::AssemblyStack::optimize() Line 123
at C:\source\ethereum\solidity\libyul\AssemblyStack.cpp(123)
soltest.exe!solidity::frontend::test::SolidityExecutionFramework::multiSourceCompileContract(const std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<std::string const ,std::string>>> & _sourceCode, const std::optional<std::string> & _mainSourceName, const std::string & _contractName, const std::map<std::string,solidity::util::FixedHash<20>,std::less<std::string>,std::allocator<std::pair<std::string const ,solidity::util::FixedHash<20>>>> & _libraryAddresses) Line 112
at C:\source\ethereum\solidity\test\libsolidity\SolidityExecutionFramework.cpp(112)
soltest.exe!solidity::frontend::test::SolidityExecutionFramework::compileAndRunWithoutCheck(const std::map<std::string,std::string,std::less<std::string>,std::allocator<std::pair<std::string const ,std::string>>> & _sourceCode, const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<256,256,0,0,void>,0> & _value, const std::string & _contractName, const std::vector<unsigned char,std::allocator<unsigned char>> & _arguments, const std::map<std::string,solidity::util::FixedHash<20>,std::less<std::string>,std::allocator<std::pair<std::string const ,solidity::util::FixedHash<20>>>> & _libraryAddresses, const std::optional<std::string> & _sourceName) Line 56
at C:\source\ethereum\solidity\test\libsolidity\SolidityExecutionFramework.h(56)
soltest.exe!solidity::test::ExecutionFramework::compileAndRun(const std::string & _sourceCode, const boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<256,256,0,0,void>,0> & _value, const std::string & _contractName, const std::vector<unsigned char,std::allocator<unsigned char>> & _arguments, const std::map<std::string,solidity::util::FixedHash<20>,std::less<std::string>,std::allocator<std::pair<std::string const ,solidity::util::FixedHash<20>>>> & _libraryAddresses) Line 80
at C:\source\ethereum\solidity\test\ExecutionFramework.h(80)
soltest.exe!solidity::frontend::test::SolidityEndToEndTest::packed_keccak256_complex_types::test_method() Line 1062
at C:\source\ethereum\solidity\test\libsolidity\SolidityEndToEndTest.cpp(1062)
soltest.exe!solidity::frontend::test::SolidityEndToEndTest::packed_keccak256_complex_types_invoker() Line 1046
at C:\source\ethereum\solidity\test\libsolidity\SolidityEndToEndTest.cpp(1046)
soltest.exe!boost::detail::function::void_function_invoker0<void (__cdecl*)(void),void>::invoke(boost::detail::function::function_buffer & function_ptr) Line 118
at C:\source\ethereum\solidity\deps\boost\include\boost-1_77\boost\function\function_template.hpp(118)
[External Code]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment