Daniel Kirchner
|
c341445f8e
|
Maintain disambiguation when generating new functions in StackToMemoryMover.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
dfce7b667d
|
Move function arguments and return values.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
cc0169ad68
|
Function definition collector.
|
2021-06-28 18:11:57 +02:00 |
|
TerranCivilian
|
c15501eea9
|
Remove unneeded include files
|
2021-06-07 12:53:18 -04:00 |
|
chriseth
|
d305c219d8
|
Fix namespace styles.
|
2021-05-27 17:41:04 +02:00 |
|
hrkrshnn
|
39b23420ec
|
Extracted the class SMT Solver from ReasoningBasedSimplifier
|
2021-05-06 11:26:26 +02:00 |
|
franzihei
|
13eec106f4
|
DOCS: update optimizer docs, harmonize spelling and add Yul-based optimizer module
|
2021-05-04 17:37:02 +02:00 |
|
Djordje Mijovic
|
e404b6e7a6
|
Refactoring yul source locations.
|
2021-05-04 16:05:23 +02:00 |
|
chriseth
|
e2d8005737
|
Add verbatim builtin.
|
2021-04-26 19:56:44 +02:00 |
|
chriseth
|
d9df3d50e2
|
Merge pull request #11311 from anurag-git/issue_10738-3
Use range-v3 loops(remove_erase, remove_erase_if)
|
2021-04-26 14:18:15 +02:00 |
|
Harikrishnan Mulackal
|
2cb525f607
|
Merge pull request #11306 from ethereum/toevminstruction
Add toEVMInstruction helper
|
2021-04-26 08:41:25 +02:00 |
|
anurag4u80
|
c4cf412fed
|
Replaced boost remove_erase and remove_erase_if
|
2021-04-24 08:10:41 +05:30 |
|
Alex Beregszaszi
|
d508544340
|
Add toEVMInstruction helper
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
|
2021-04-23 22:56:50 +01:00 |
|
Alex Beregszaszi
|
e39433198d
|
Remove the usage of boost::noncopyable
Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable.
|
2021-04-23 14:57:01 +01:00 |
|
Harikrishnan Mulackal
|
f162c484ca
|
Merge pull request #11026 from ethereum/resolve-keccak
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
|
2021-04-22 19:18:19 +02:00 |
|
hrkrshnn
|
b599235b8d
|
Skip resolving Keccak if AST contains msize.
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
|
2021-04-22 18:19:47 +02:00 |
|
hrkrshnn
|
3bc4f5708a
|
Evaluate keccak(a, const) if value at memory location a is known
Here the value of constant can be at most 32.
|
2021-04-22 18:19:47 +02:00 |
|
hrkrshnn
|
1f5b874eaf
|
Optimizer context has parameter expectedExecutionsPerDeployment
|
2021-04-22 17:27:57 +02:00 |
|
chriseth
|
a6a3af58a0
|
Add test.
|
2021-04-22 17:23:56 +02:00 |
|
chriseth
|
00fb2d390b
|
Do not replace zeros by return variable.
|
2021-04-22 16:54:02 +02:00 |
|
chriseth
|
35b651103d
|
Adjust cost of literal zero.
|
2021-04-22 11:42:42 +02:00 |
|
Daniel Kirchner
|
afae46dcb5
|
Add ScopedSaveAndRestore helper.
|
2021-04-16 10:56:56 +02:00 |
|
anurag4u80
|
bbcdddeed9
|
Replaced keys, values and reverse with ranges
|
2021-03-31 23:33:04 +05:30 |
|
hrkrshnn
|
0100f48e05
|
FunctionSpecializer: skip specializing recursive functions
This avoids potential pathological behaviour, like in Ackermann function.
|
2021-03-29 11:02:31 +02:00 |
|
hrkrshnn
|
45a3747701
|
Added FunctionSpecializer to the optimization suite
|
2021-03-29 11:02:18 +02:00 |
|
hrkrshnn
|
22ebdc7438
|
Implemented FunctionSpecializer
Optimiser step that specializes the function with its literal arguments.
|
2021-03-29 11:02:18 +02:00 |
|
hrkrshnn
|
8564d08228
|
Added a helper class FunctionCopier in ASTCopier
Helper class that creates a copy of the function definition, replacing the names of the variable
declaration with a new name.
|
2021-03-29 11:02:18 +02:00 |
|
hrkrshnn
|
b42fc2015c
|
NameCollecter can now only collect VariableDeclarations
This is done to help with the optimizer step FunctionSpecializer
|
2021-03-25 11:49:16 +01:00 |
|
chriseth
|
fc0e571a07
|
Refined cleanup.
|
2021-02-16 14:20:27 +01:00 |
|
Daniel Kirchner
|
f34d7120a2
|
Add and use mapTuple helper.
|
2021-01-13 17:23:27 +01:00 |
|
Daniel Kirchner
|
91cdb606a5
|
Some style review suggestions.
|
2021-01-13 12:43:38 +01:00 |
|
Daniel Kirchner
|
4505889481
|
Replace ranges::all_of wrapper by range-v3.
|
2021-01-12 21:44:42 +01:00 |
|
Daniel Kirchner
|
75bed10be5
|
Check for scopes in LoadResolver.
|
2021-01-12 21:41:51 +01:00 |
|
Daniel Kirchner
|
eb035147d2
|
Rephrase erasure condition in DataFlowAnalyzer.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
3ed55613ba
|
Add and use cxx20::ranges::all_of.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
970e8064bb
|
Clear variables, but not backreferences in popScope.
|
2021-01-12 21:40:52 +01:00 |
|
Daniel Kirchner
|
7fe03cbab0
|
Implement cxx20 polyfill and replace InvertibleMap entirely.
|
2021-01-12 21:40:40 +01:00 |
|
Daniel Kirchner
|
625d402dbb
|
Various optimizations for the DataFlowAnalyzer.
|
2021-01-12 21:39:20 +01:00 |
|
Leonardo Alt
|
ced79497f5
|
Fix BFS
|
2021-01-06 10:17:17 +01:00 |
|
Alex Beregszaszi
|
0425936c8a
|
Rename AsmScope* to Scope*
|
2020-12-18 11:55:17 +00:00 |
|
chriseth
|
561280a5cc
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-14 11:33:40 +01:00 |
|
Alex Beregszaszi
|
bd641a5206
|
Enable more C++ compiler warnings
|
2020-12-10 21:03:58 +00:00 |
|
Alex Beregszaszi
|
7df986539f
|
Disallow using reserved identifiers in NameDispenser/VarNameCleaner
|
2020-12-10 17:10:38 +01:00 |
|
hrkrshnn
|
06d719e4f1
|
Move filter to CommonData.h
|
2020-12-09 11:13:27 +01:00 |
|
hrkrshnn
|
7ea96c5583
|
Move the implementation of createLinkingFunction into a cpp file
|
2020-12-09 11:13:27 +01:00 |
|
Daniel Kirchner
|
6c70208d5f
|
Merge pull request #10359 from ethereum/extra-semi
Enable the -Wextra-semi warning
|
2020-12-07 14:35:30 +01:00 |
|
chriseth
|
5e61f2a8cb
|
Merge pull request #10491 from ethereum/loadStoreDialectFunctions
Add storage load/store functions to Yul dialect.
|
2020-12-07 12:19:20 +01:00 |
|
Alex Beregszaszi
|
1e2bfbd6b2
|
Enable the -Wextra-semi warning
|
2020-12-04 17:21:19 +01:00 |
|
Daniel Kirchner
|
96a50b52e2
|
Add storage load/store functions to Yul dialect.
|
2020-12-03 19:10:05 +01:00 |
|
chriseth
|
27e44b85e3
|
Merge pull request #10419 from ethereum/bug-namesimplifier
Fix a bug in NameSimplifier.
|
2020-12-03 17:52:40 +01:00 |
|