Commit Graph
2676 Commits
Author SHA1 Message Date
Alex Beregszaszi 327c75bc1b IR generation for shifts 2020-05-06 19:14:23 +02:00
Christian Parpart 3a93080ca9 Merge pull request #8821 from ethereum/remove-flag
Remove obsolete flag --optimize-yul from scripts
2020-05-06 16:20:23 +02:00
chriseth 76275cf34a Merge pull request #8824 from ethereum/solYulDirtyMemory
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 16:17:19 +02:00
Daniel Kirchner 234ffcf278 Merge pull request #8718 from ethereum/irConstants
IR generation for constants.
2020-05-06 16:05:17 +02:00
Mathias Baumann 02c5f1f748 Remove --optimize-yul flag for soltest 2020-05-06 11:49:40 +02:00
Daniel Kirchner c25a3eba14 Fix accessing memory reference types in yul codegen and clean up on memory reads. 2020-05-06 11:34:11 +02:00
Daniel Kirchner b580106c80 Yul parser hack and more yul tests. 2020-05-05 17:23:41 +02:00
chriseth 02c20698c9 IR generation for constants. 2020-05-05 17:07:55 +02:00
Daniel Kirchner 28d25afab1 Cleanup tests for Sol->Yul arithmetic and comparison. 2020-05-05 13:38:31 +02:00
Djordje Mijovic e8f6f63e77 [Sol2Yul] Adding support for builtin revert(string) 2020-05-05 07:05:39 +02:00
Djordje Mijovic 8b7f87eed5 [isoltest] Enforcing compileViaYul to be set if test can pass via yul 2020-05-05 00:38:13 +02:00
chriseth 1aef9c7d20 Merge pull request #8777 from ethereum/sol_yul_simplefunctions
[Sol - Yul] Add some built-in functions.
2020-05-04 16:07:10 +02:00
chriseth 51ccb1519f Yul codegen for immutables. 2020-05-04 15:00:50 +02:00
Mathias Baumann debcc8c056 Add setimmutable and loadimmutable to dialect. 2020-05-04 15:00:50 +02:00
Alexander Arlt a9f4d14010 [Sol - Yul] Add support for send(..) & transfer(..) 2020-05-01 08:32:51 -05:00
Alexander Arlt 151e637336 [Sol - Yul] Add some built-in functions.
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
2020-04-30 14:10:09 -05:00
chriseth 602b29cba7 Merge pull request #8796 from a3d4/fix-8760-typechecker-compiler-error
[Type Checker] Fix internal error when applying unary operators to tuples with empty components
2020-04-29 10:14:15 +02:00
a3d4 3bd15655cb Type Checker: Fix internal error when applying unary operators to tuples with empty components 2020-04-29 02:18:48 +02:00
Jason Cobb 8973732b74 Compare categories instead of types in ContractCompiler(740) 2020-04-28 13:13:45 -04:00
Djordje Mijovic f3f729549d [Sol->Yul] Enabling creation function call 2020-04-27 16:15:57 +02:00
chriseth dda883b585 IR generation for sha256. 2020-04-27 11:10:20 +02:00
chriseth 61b1369fc2 Merge pull request #8701 from ethereum/solc-yul-chromosome
solc option for selecting yul optimisations
2020-04-27 10:44:14 +02:00
Alexander Arlt 66edaf43f4 [Sol - Yul] Add support for built-in logN(). 2020-04-25 11:10:28 -05:00
Alexander Arlt 2fa26f4e92 [Sol - Yul] Add support for built-in selfdestruct(..). 2020-04-24 17:03:41 -05:00
Kamil Śliwak c8b612536f Add yulDetails.optimizerSteps to the standard JSON interface 2020-04-24 17:30:56 +02:00
Kamil Śliwak d3da878200 Enable internal library calls 2020-04-24 15:00:51 +02:00
Kamil Śliwak 56a85d6cb3 IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers 2020-04-24 15:00:16 +02:00
chriseth 2b39f3b988 Merge pull request #8766 from ethereum/sol_yul_gasleft
[Sol - Yul] Add support for built-in gasleft().
2020-04-24 14:24:01 +02:00
Leonardo Alt 059d0bdebb Revert "Use Spacer option to improve performance of constant arrays"
This reverts commit 92059fa848.
2020-04-24 11:55:58 +02:00
Alexander Arlt aafa4583df [Sol - Yul] Add support for built-in gasleft(). 2020-04-23 17:14:03 -05:00
Kamil Śliwak e65a5a562e IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything 2020-04-23 21:16:41 +02:00
hrkrshnn 48ff9fd4d6 Tests, Changelog and updated grammar 2020-04-23 17:27:37 +05:30
hrkrshnn e2e32d372f virtual modifiers (in Abstract contracts) allow empty bodies 2020-04-23 17:26:59 +05:30
chriseth 35eae96a7f Move helper up and avoid trailing spaces. 2020-04-23 13:16:26 +02:00
chriseth 16ed53ddd0 Merge pull request #8591 from mijovic/sol2YulConstructorParams
[Sol2Yul] Adding support for constructors with parameters (inheritance)
2020-04-23 12:56:54 +02:00
chriseth a371910674 Merge pull request #8642 from ethereum/interfaceid
Add support for interfaceId.
2020-04-23 12:24:49 +02:00
chriseth 5a160be128 Merge pull request #8754 from ethereum/smt_improve_array_performance
Use Spacer option to improve performance of constant arrays
2020-04-23 12:19:04 +02:00
chriseth 18ee96ac91 Merge pull request #8752 from a3d4/fix-8711-typechecker-compiler-error
Type Checker: Fix internal error when assigning to empty tuples
2020-04-23 12:01:00 +02:00
Leonardo Alt 92059fa848 Use Spacer option to improve performance of constant arrays 2020-04-23 10:45:02 +02:00
a3d4 c4bc77874b Disallow empty tuples on the left hand side 2020-04-23 07:02:04 +02:00
a3d4 9538024c81 Fix #8711, #8277 2020-04-23 05:57:35 +02:00
Leonardo Alt cfe3686116 Fix internal error when using array slices 2020-04-22 23:20:10 +02:00
Djordje Mijovic 5329da93fb [Sol2Yul] Adding support for constructors with parameters in case of inheritance 2020-04-22 14:47:08 +02:00
chriseth 4908101ad7 Yul IR generation for member access to type types. 2020-04-22 11:25:27 +02:00
chriseth 1d8e742296 Merge pull request #8684 from ethereum/yulForSelector
Yul codegen for `.selector`.
2020-04-20 16:32:11 +02:00
chriseth 41ef13129b Merge pull request #8678 from ethereum/smt_remove_redundant_constraints
[SMTChecker] Remove redundant CHC constraints
2020-04-20 15:44:59 +02:00
chriseth 55483445e9 Merge pull request #8663 from ethereum/ir-function-generation-queue
[Sol->Yul] IR function generation queue (refactor)
2020-04-20 15:17:53 +02:00
chriseth c24c4f85e4 Merge pull request #8665 from ethereum/recursiveStructRefactoring
Recursive struct refactoring and a bunch of ICE fixes.
2020-04-20 13:24:19 +02:00
Kamil Śliwak c7947c1af6 Implement lazy function generation using function generation queue 2020-04-17 13:28:07 +02:00
Alexander Arlt 3754a86ab2 Add support for interfaceID. 2020-04-16 12:17:40 -05:00