chriseth
|
a5a560e163
|
Merge pull request #10417 from ethereum/onlyClearForAssignment
DataFlowAnalyzer: Only clear known values for assignment.
|
2020-11-30 12:02:28 +01:00 |
|
chriseth
|
45307a24d6
|
Merge pull request #10416 from ethereum/speedUpByMovingAssertion
Superspeed.
|
2020-11-30 11:35:20 +01:00 |
|
chriseth
|
21c35924df
|
Only clear for assignment.
|
2020-11-26 18:32:13 +01:00 |
|
chriseth
|
111eaa1e9b
|
Superspeed.
|
2020-11-26 17:38:01 +01:00 |
|
chriseth
|
ac9b31d623
|
Abort early if the optimizer sequence is empty.
|
2020-11-26 16:41:20 +01:00 |
|
chriseth
|
b18d5ab257
|
Fix move bug.
|
2020-10-28 17:21:08 +01:00 |
|
Daniel Kirchner
|
61a03036fe
|
Refactor stack to memory mover in preparation of moving function arguments.
|
2020-10-13 12:20:04 +02:00 |
|
chriseth
|
d513e05ce9
|
Merge pull request #9961 from ethereum/stackLimitEvaderRefactor2
StackToMemoryMover: encapsulate memory offset tracking into its own class.
|
2020-10-08 19:56:44 +02:00 |
|
chriseth
|
70ebc0a13c
|
Merge pull request #9960 from ethereum/stackLimitEvaderRefactor
StackLimitEvader: Track unreachable variables globally instead of per function.
|
2020-10-08 19:01:26 +02:00 |
|
Daniel Kirchner
|
5442a7ade2
|
Always run the FunctionHoister as part of the optimizer Suite.
|
2020-10-06 22:30:37 +02:00 |
|
Daniel Kirchner
|
c8a7098f2f
|
StackToMemoryMover: encapsulate memory offset tracking into its own class.
|
2020-10-06 11:10:43 +02:00 |
|
Daniel Kirchner
|
0b87849bcb
|
Track unreachable variables globally instead of per function.
|
2020-10-06 10:38:26 +02:00 |
|
Daniel Kirchner
|
f3c2d6cfdc
|
Move memory load and store functions to the dialect.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
48f620fb50
|
Reverse the order of the memory offsets assigned to variables.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
976abf4715
|
Easy review fixes.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
f4b42d1c72
|
Add stack limit evader.
|
2020-09-17 22:13:27 +02:00 |
|
chriseth
|
6e2d2feb10
|
Small fixes wrt ReasoningBasedSimplifier.
|
2020-09-16 18:08:54 +02:00 |
|
chriseth
|
bfd3ab23e2
|
Disallow optimizer steps that require SMT if none is available.
|
2020-09-15 15:57:59 +02:00 |
|
chriseth
|
9bcc2f1713
|
Make ReasoningBasedSimplifier available as step.
|
2020-09-15 15:57:59 +02:00 |
|
chriseth
|
f73fb726af
|
Reasoning based optimizer.
|
2020-09-15 15:57:58 +02:00 |
|
chriseth
|
552a5f0913
|
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
Handle "leaf functions" first in full inliner.
|
2020-09-14 20:22:48 +02:00 |
|
chriseth
|
8e39110a30
|
Remove flag.
|
2020-09-14 17:35:04 +02:00 |
|
chriseth
|
42c26e0bf5
|
Inline tiny functions first.
|
2020-09-10 17:01:20 +02:00 |
|
chriseth
|
f102feaf09
|
Handle "leaf functions" first in full inliner.
|
2020-09-10 17:01:19 +02:00 |
|
chriseth
|
6101bdf7e2
|
Name simplifier.
|
2020-09-10 16:23:29 +02:00 |
|
Harikrishnan Mulackal
|
d166c2540a
|
Fix typo block
|
2020-09-07 17:24:03 +02:00 |
|
Harikrishnan Mulackal
|
e2fd41f097
|
Implemented UnusedFunctionArgumentPruner
|
2020-09-03 13:15:38 +02:00 |
|
Alex Beregszaszi
|
2426616859
|
Disallow language keywords to be used as identifiers by NameDispenser and VarNameCleaner
Also introduce isRestrictedIdentifier helper in OptimizerUtilities
|
2020-08-31 12:52:17 +01:00 |
|
chriseth
|
e72afcba47
|
Fix inlining order to correspond to source order.
|
2020-08-26 10:20:18 +02:00 |
|
Harikrishnan Mulackal
|
5c6e7f03b4
|
Extended LoopInvariantCodeMotion for storage and state
|
2020-08-19 12:41:29 +02:00 |
|
Harikrishnan Mulackal
|
3cbe65e4f3
|
Refactor SideEffects struct
|
2020-08-18 14:53:59 +02:00 |
|
Alex Beregszaszi
|
f6a57af809
|
Add LiteralKind to Dialect.literalArguments
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
|
2020-08-05 11:37:00 +01:00 |
|
Alex Beregszaszi
|
d41fc31046
|
Do not use Parser::instructions() but depend on the dialect in NameDispenser and VarNameCleaner
|
2020-07-29 13:15:54 +01:00 |
|
Sachin Grover
|
b7adb2aa42
|
Add SPDX license identifier if not present already in source file
Fixes: #9220
|
2020-07-17 20:24:12 +05:30 |
|
Daniel Kirchner
|
99d831d7d1
|
Extract recursive function detection from Semantics into the CallGraph.
|
2020-07-15 20:30:52 +02:00 |
|
chriseth
|
711ed588d7
|
Require for loop init rewriter for SSA.
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
|
2020-07-03 19:24:31 +02:00 |
|
chriseth
|
e0b1d8b9bd
|
Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.
|
2020-07-01 13:45:25 +02:00 |
|
Djordje Mijovic
|
33e7b24df0
|
Adding fixes for signedness conversion warnings in libyul
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-06-12 10:39:30 +02:00 |
|
TrentZ
|
7eb73b52a1
|
Rename blacklist for clarity.
|
2020-06-09 23:43:14 +02:00 |
|
chriseth
|
a06ac0f39f
|
Merge pull request #8958 from ethereum/evm-version-dependent-rules
[yul] Add support for EVM version-dependent rules.
|
2020-05-27 12:52:51 +02:00 |
|
Christian Parpart
|
b7fa5d5040
|
Mark EVM instruction pc() as deprecated when used in inline assembly.
|
2020-05-27 12:07:23 +02:00 |
|
Alexander Arlt
|
a7b89065ca
|
[yul] Add support for EVM version-dependent rules.
|
2020-05-27 11:57:08 +02:00 |
|
Kamil Śliwak
|
d199fc537b
|
Add configurable weights to CodeSize metric
|
2020-05-20 16:47:23 +02:00 |
|
Daniel Kirchner
|
c1ed5bbb0f
|
Update Dockerfiles and CI scripts to Ubuntu 20.04 and simplify them.
|
2020-05-11 17:35:01 +02:00 |
|
chriseth
|
debee799dc
|
Merge pull request #8892 from ethereum/boost-cxx11
Replace boost/algorithm/cxx11 with C++11 features
|
2020-05-11 16:29:42 +02:00 |
|
Alex Beregszaszi
|
875415a132
|
Replace boost/algorithm/cxx11 with C++11 features
|
2020-05-11 14:27:54 +01:00 |
|
Kamil Śliwak
|
e8aec6de54
|
More information about --yul-optimizations option in READMEs and docs
|
2020-05-08 22:29:57 +02:00 |
|
chriseth
|
6fb112fa8e
|
Remove some unneeded headers.
|
2020-05-07 01:49:46 +02:00 |
|
Kamil Śliwak
|
c41a832f65
|
Move the default optimisation steps from OptimiserSuite to OptimiserSettings
- Now it's a mandatory parameter in OptimiserSuite::run()
|
2020-04-24 17:30:56 +02:00 |
|
Kamil Śliwak
|
69b79f848b
|
OptimiserSuite: Allow validating the optimisation sequence without executing it
- Create a separate validateSequence() that can be used independently.
- Tweak the exception messages a bit to be usable as command-line errors
|
2020-04-24 17:30:56 +02:00 |
|