91 Commits
Author SHA1 Message Date
chriseth cc5045a56e [Yul] Run optimizer on all dialects. 2019-06-19 10:01:16 +02:00
chriseth 6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
chriseth 1c16124a09 Constant optimiser for Yul. 2019-05-28 11:35:07 +02:00
mingchuan f1374066af Add shortcuts for formatting error information 2019-04-10 18:44:45 +08:00
chriseth 2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth 38cbf8d230 Pass "optimize stack allocation" flag down to the stack compressor. 2019-03-20 15:03:27 +01:00
chriseth 7c524f794f Also output optimized yul code if requested. 2019-03-19 17:24:36 +01:00
chriseth 6d1ed93247 Use stack optimizations. 2019-03-14 15:34:23 +01:00
chriseth 83d1382e78 Take yul optimizer setting into account. 2019-03-04 11:40:28 +01:00
Alex Beregszaszi cf5c13f9c7 Introduce global optimiser settings. 2019-03-04 11:40:28 +01:00
chriseth 7f5b335b47 Make EVM version part of EVM dialect. 2019-02-21 21:59:46 +01:00
chriseth 1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
chriseth 17ea467e5b Fix style of "const". 2019-02-13 16:34:53 +01:00
chriseth 02373c2225 Adjust uses of AsmCodeGen. 2019-02-13 11:35:49 +01:00
chriseth 64312584dc Do not provide access to external assembly variables from within functions. 2019-01-28 14:42:38 +01:00
chriseth 29f6aa7d56 Do not create a copy of the assembly. 2019-01-17 20:36:48 +01:00
chriseth e6fee257e6 Code generation for access to contract code. 2019-01-17 20:36:48 +01:00
Leonardo Alt ab76676271 Sort includes in libsolidity/codegen 2018-12-17 17:06:11 +01:00
chriseth fb3a0ac1c7 Codegen for object access. 2018-12-11 19:24:44 +01:00
Christian Parpart 073b03d90c liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge 2018-12-06 14:01:01 +01:00
chriseth 7ee1ddc172 Switch namespaces. 2018-12-04 15:36:03 +01:00
chriseth 3ebb78a886 Adjust include paths. 2018-12-04 15:20:29 +01:00
chriseth 99db4e3ff4 Introduce the concept of builtin functions. 2018-12-04 12:06:33 +01:00
Christian Parpart 435f7b3b72 liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
2018-11-30 17:07:17 +01:00
Christian Parpart 22eff22492 liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it) 2018-11-29 12:45:27 +01:00
chriseth 0b474d5299 Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter
Moving SourceReferenceFormatter into langutil namespace.
2018-11-26 12:44:25 +01:00
chriseth bc137c2eeb Merge pull request #5485 from ethereum/refactorCallableFunction
Refactor callable function
2018-11-26 12:34:43 +01:00
Christian Parpart aeb66905de Moving SourceReferenceFormatter into langutil namespace. 2018-11-24 12:33:36 +01:00
Christian Parpart ec47c8946b Isolating libyul library API into its own namespace yul. 2018-11-23 14:29:00 +01:00
Christian Parpart 713d94476e Reorder some include files and group <libyul/>'s together (as much as possible) 2018-11-23 12:37:19 +01:00
Christian Parpart 0f4ed52a71 Rewrite header paths to adapt to recent git mv of libsolidity/inlineasm to libyul 2018-11-23 11:18:57 +01:00
chriseth 62e801ed70 Use callable function for virtual resolution. 2018-11-22 15:48:12 +01:00
Christian Parpart d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart 87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
chriseth 5e01d767d0 Prevent externally used functions from being removed. 2018-10-17 14:12:10 +02:00
Christian Parpart 1304361b9c Renaming namespace dev::julia to dev::yul. 2018-10-15 11:58:51 +02:00
Jesse Busman 3fcd62921e Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqualParameterTypes 2018-08-06 13:05:06 +02:00
Leonardo Alt 0c5e0e0d59 Added assertion and tests suggestions 2018-07-10 18:39:38 +02:00
Leonardo Alt b750ca9741 Add more tests and assertions 2018-07-10 18:39:38 +02:00
Leonardo Alt 1f77deada1 [050] Reserving and popping local vars in their scope 2018-07-10 18:39:38 +02:00
chriseth fcb7a27216 Only forward returndata if EVM version supports it. 2018-04-12 13:09:38 +02:00
chriseth 7a9ee69e98 Bubble up error messages. 2018-04-12 13:09:38 +02:00
chriseth 069b150e42 Bugfix in virtual lookup for modifiers in libraries. 2018-03-13 16:55:41 +01:00
chriseth fd1662d1c4 Warn about using loose inline assembly features as experimental 0.5.0 feature. 2018-03-06 17:45:34 +01:00
chriseth dc317a44e0 Provide EVM version to assembly analysis. 2018-03-01 17:19:35 +01:00
chriseth e2bf5de8a2 Expect end of string at end of top-level block for assembly parser. 2018-02-21 00:41:39 +01:00
chriseth 124190336b Split inline assembly into loose and strict flavours. 2018-01-06 01:23:38 +00:00
chriseth 00692a4ff6 Reset source location after using inline assembly. 2018-01-04 14:29:03 +01:00
chriseth a5fddc9c57 Debugging info in CompilerContext. 2017-10-04 13:18:33 +02:00