Commit Graph
888 Commits
Author SHA1 Message Date
a3d4 a499ef16fa Fix spelling errors 2020-05-25 02:54:37 +02:00
Kamil Śliwak 4a2ce57bed Add support for bound function calls in IR generator 2020-05-20 21:10:20 +02:00
Kamil Śliwak a68b4ab7ed IRGeneratorForStatements: Slightly reorganize local variables in endVisit(MemberAccess)
- Add memberFunctionType accessible in the whole function to avoid declaring it multiple times
- Add objectCategory
2020-05-20 21:09:27 +02:00
Kamil Śliwak 87c598863f IRGeneratorForStatements: Remove unnecessary code for handling internal functions with arbitrary parameters
- Internal functions cannot have arbitrary parameters
2020-05-20 21:08:59 +02:00
Kamil Śliwak 0943333276 Simplify endVisit() for internal calls
- Define IRHelpers::referencedFunctionDeclaration() to avoid repeating the same dynamic_casts over and over again.
2020-05-20 21:07:37 +02:00
Kamil Śliwak 6c6a8a74e8 IRGenerationContext: Extract code for enumerating dispatchable functions from generateInternalDispatch() into a separate function 2020-05-20 13:16:08 +02:00
Kamil Śliwak bd75543900 Add IRNames::internalDispatch() and use it in IRGenerationContext 2020-05-20 12:48:49 +02:00
Kamil Śliwak 22c0568d34 IRGenerationContext::internalDispatch(): Remove unused local YulUtilFunctions instance 2020-05-20 12:46:32 +02:00
Kamil Śliwak 7d2292fbaf Rename IRGenerationContext::internalDispatch() to generateInternalDispatchFunction() 2020-05-20 12:46:31 +02:00
Kamil Śliwak 1a521cc7ac Use YulArity in IR generator 2020-05-19 23:03:21 +02:00
Kamil Śliwak 16e58449ab ir/Common: Add YulArity struct 2020-05-19 23:03:15 +02:00
Kamil Śliwak b0ae85b6b0 IRGenerationContext::internalDispatch(): Don't use asCallableFunction() to get internal function type 2020-05-19 18:00:50 +02:00
Djordje Mijovic d235d0c166 [Sol->Yul] Implementing Byte array push() and pop() 2020-05-19 14:47:00 +02:00
Kamil Śliwak 465e4d4088 Extract more functions for generating function and variable names into IRNames 2020-05-15 14:51:00 +02:00
Kamil Śliwak 7af7273b60 Move static functions for constructing names from IRGenerationContext into the new Common module 2020-05-14 19:48:00 +02:00
chriseth 7ef114db9a Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 18:43:55 +02:00
Alexander Arlt 91e9d54c71 [Sol - Yul] Add support for ripemd160 & ecrecover. 2020-05-14 10:44:39 -05:00
Djordje Mijovic 472fb21ee0 [Sol->Yul] Enabling new bytes(n) 2020-05-14 12:55:14 +02:00
Daniel Kirchner 97296d8622 Allow ABI encoding for array slices without explicit casts. 2020-05-13 18:20:07 +02:00
Daniel Kirchner 6f04664cfa Disallow array slicing for arrays with dyanmically encoded base types. 2020-05-13 15:52:22 +02:00
Daniel Kirchner c2f5a66a79 Implement .creationCode for Sol->Yul. 2020-05-11 18:51:51 +02:00
Daniel Kirchner 3fbde6e782 Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
Implicit constructor callvalue check
2020-05-11 18:50:36 +02:00
Daniel Kirchner 79b217dfb3 Callvalue checks for implicit constructors. 2020-05-11 16:14:34 +02:00
chriseth f1e0aa7a56 Merge pull request #8763 from ethereum/bareCall
IR code generation for call.
2020-05-11 16:06:54 +02:00
chriseth e2f7e8a3a7 Merge pull request #8890 from ethereum/fixclangv10
Fix clang v10 compilation errors
2020-05-11 15:39:09 +02:00
chriseth c0bf529236 Support bare calls. 2020-05-11 15:11:46 +02:00
chriseth 0248303c15 Merge pull request #8872 from ethereum/int-min-max
implemented type(X).min and type(X).max for all integer types
2020-05-11 15:08:19 +02:00
Mathias Baumann fe43132003 Fix clang v10 compilation errors 2020-05-11 14:59:51 +02:00
Harikrishnan Mulackal e54c4eecfc implemented type(X).min and type(X).max for all integer types 2020-05-11 14:51:13 +05:30
chriseth a0e291bd06 Implement Yul IR generation for abi.encode* 2020-05-07 19:39:15 +02:00
chriseth d0b82fe854 Merge pull request #8869 from ethereum/useSlotes
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth 75ca072ae6 Assertion about getters for non-value type immutables. 2020-05-07 18:18:40 +02:00
chriseth f38cf85482 Use vector of slots. 2020-05-07 17:54:04 +02:00
Mathias Baumann eb4926cb48 run addMissingFunctions only once 2020-05-07 17:06:11 +02:00
chriseth f42dc70c9f Merge pull request #8863 from ethereum/nonReversedEncoder
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
chriseth e986fde0c1 Introduce non-reversed version of tupleEncoder. 2020-05-07 15:08:09 +02:00
chriseth 6fb112fa8e Remove some unneeded headers. 2020-05-07 01:49:46 +02:00
Alex Beregszaszi 327c75bc1b IR generation for shifts 2020-05-06 19:14: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
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
chriseth 02c20698c9 IR generation for constants. 2020-05-05 17:07:55 +02:00
Daniel Kirchner 4d739b16a4 Cleanup function for internal function pointers. 2020-05-05 13:07:10 +02:00
Daniel Kirchner 7ad319687d Sol->Yul: Add cleanup to operations. 2020-05-05 13:06:01 +02:00
Djordje Mijovic e8f6f63e77 [Sol2Yul] Adding support for builtin revert(string) 2020-05-05 07:05:39 +02:00
Djordje Mijovic cf607aa887 [Sol->Yul] Checking if there is base contract when calling base constructror via modifier invocation. 2020-05-04 20:38:22 +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
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