chriseth
7d3727bbf7
Merge pull request #5665 from ethereum/cmakeHeaders
...
Add headers to targets in CMakeLists.txt.
2018-12-17 17:47:38 +01:00
Daniel Kirchner
2353f73c39
Add headers to targets in CMakeLists.txt.
2018-12-17 15:01:02 +01:00
chriseth
bf7d71d6b3
Merge pull request #5613 from ethereum/yulStringLiterals
...
[Yul] Use C++ user-defined literals for creating YulString constants.
2018-12-17 14:07:24 +01:00
chriseth
bc22a25a60
Remove VarDeclPropagator.
2018-12-13 16:51:10 +01:00
chriseth
6c6a53a439
Do not create unassigned variables.
2018-12-13 16:51:10 +01:00
chriseth
11209ec48a
Add variable declaration initializer.
2018-12-13 16:49:04 +01:00
chriseth
b11d413720
Consider return variables to be zero initially.
2018-12-13 16:02:30 +01:00
chriseth
1d274a8924
Merge pull request #5644 from ethereum/noInlineIntoLarge
...
[Yul] Do not inline into already big functions.
2018-12-13 15:57:49 +01:00
chriseth
6101258248
AsmPrinter functions should be const.
2018-12-13 13:00:59 +01:00
chriseth
60a368244a
Do not inline into already big functions.
2018-12-13 12:12:54 +01:00
chriseth
642c69f935
Merge pull request #5641 from ethereum/supportUnassigned
...
[Yul] Support unassigned variables in the SSA value tracker and the data flow analyzer.
2018-12-13 11:33:45 +01:00
Daniel Kirchner
5ac7620045
Use C++ user-defined literals for creating YulString constants.
2018-12-12 18:45:43 +01:00
chriseth
9557dd7e74
Support unassigned variables in the SSA value tracker and the data flow analyzer.
2018-12-12 18:06:28 +01:00
Alex Beregszaszi
c863cbf80d
Add missing header guards
2018-12-12 15:47:05 +00:00
Daniel Kirchner
a18985800f
Fix compilation for certain combinations of boost and gcc.
2018-12-12 07:51:23 +01:00
chriseth
fb3a0ac1c7
Codegen for object access.
2018-12-11 19:24:44 +01:00
chriseth
8d49e53995
Provide Dialect to EVMCodeTransform.
2018-12-11 19:24:31 +01:00
liangdzou
362648a450
Reuse stack slots in Yul to EVM code generation.
2018-12-10 14:28:56 +01:00
chriseth
52ff3c9455
Merge pull request #5607 from enumatech/fix-makefiles
...
WIP: Fix makefiles to silence linker errors
2018-12-07 10:16:49 +01:00
Lionello Lunesu
c51e2b7f46
Fix makefiles
2018-12-07 08:59:02 +08:00
Daniel Kirchner
1eb60cbb39
Add structural simplifier as optimization step for Yul.
2018-12-06 18:37:35 +01:00
chriseth
4b2a64306a
Merge pull request #5587 from ethereum/yulCodeBuiltins
...
Builtin functions to access Yul objects.
2018-12-06 16:49:52 +01:00
chriseth
3fc118ba21
Analyze and compile sub-objects.
2018-12-06 14:32:04 +01:00
chriseth
f6ed29b88b
Extend abstract assembly to be able to handle sub-objects.
2018-12-06 14:32:04 +01:00
Mathias Baumann
d0204eef2f
SSAValueTracker should only use nullptr for default values
2018-12-05 18:01:41 +01:00
chriseth
32c9da9419
Merge pull request #5593 from ethereum/issue-5384
...
Fix expression simplifier asserting on default values
2018-12-05 17:58:23 +01:00
chriseth
1e6c368bba
Merge pull request #5594 from ethereum/fullInlinerNoHoister
...
[Yul] Relax dependency of FullInliner on FunctionHoister.
2018-12-05 12:25:03 +01:00
Daniel Kirchner
538d707439
Relax dependency of FullInliner on FunctionHoister.
2018-12-05 11:53:31 +01:00
Mathias Baumann
54846ed0a7
Fix expression simplifier asserting on default values
2018-12-05 11:43:02 +01:00
Mathias Baumann
6e5160efa0
Relax assertion about jumps in loose mode
2018-12-05 10:25:59 +01:00
chriseth
8b38cf3ed4
Merge pull request #5586 from ethereum/refactorEVMAssembly
...
Refactor evm assembly
2018-12-04 15:55:53 +01:00
chriseth
c8e201e520
Provide Yul Object builtins.
2018-12-04 15:40:50 +01:00
chriseth
0ec7a0e72c
Move AsmCodeGen.
2018-12-04 15:20:23 +01:00
chriseth
852297fa2f
Builtin functions for yul analysis.
2018-12-04 14:50:00 +01:00
chriseth
1746366bb6
Use builtin functions in the yul parser.
2018-12-04 14:49:16 +01:00
chriseth
8654f8f6d4
Merge pull request #5573 from ethereum/builtins
...
[Yul] Introduce the concept of builtin functions.
2018-12-04 14:11:49 +01:00
Daniel Kirchner
1b8a013d4a
Properly recurse in ForLoopInitRewriter
2018-12-04 13:36:25 +01:00
chriseth
99db4e3ff4
Introduce the concept of builtin functions.
2018-12-04 12:06:33 +01:00
chriseth
d829794737
Improve yul error messages around number of arguments and variables.
2018-12-04 11:37:03 +01:00
chriseth
e5582ffea0
Use YulString also in expectAsmIdentifier.
2018-12-03 17:54:25 +01:00
Christian Parpart
c48a5264be
liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
...
Also, adapted affecting code to those changes.
2018-11-30 17:07:12 +01:00
chriseth
e016cb99e6
Yul objects.
2018-11-27 15:59:57 +01:00
Christian Parpart
8dd0338d12
Remove superfluous libyul/ASTDataForward.h and include libyul/AsmDataForward directly instead.
2018-11-23 14:29:05 +01:00
Christian Parpart
ec47c8946b
Isolating libyul library API into its own namespace yul
.
2018-11-23 14:29:00 +01:00
Christian Parpart
3734f40d31
CMake: Isolate libyul into its own static library
2018-11-23 12:37:37 +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
Christian Parpart
10e6d2897d
Moving files from libsolidity/inlineasm/*.{cpp,h} to libyul/.
2018-11-23 11:16:52 +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