chriseth
28593839d9
Add helper to see if a switch has a default case.
2022-03-15 14:29:54 +01:00
Tyler
1c58b91075
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-10 17:39:29 -05:00
chriseth
4f02be110c
Unused store eliminator.
2022-03-10 18:25:28 +01:00
chriseth
6ab31420af
Remove unneeded header files.
2022-03-10 09:55:05 +01:00
Tyler
047034544e
Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations
2022-03-09 18:55:22 -05:00
Tyler
519e1c9402
Specify namespaces
...
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
wechman
52dfccca98
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:23:08 +01:00
chriseth
d118f21417
Merge pull request #12729 from ethereum/splitOutDisassemble
...
Split out disassemble to remove numeric from instruction includes.
2022-03-02 16:18:17 +01:00
chriseth
b0dcd7b915
Split out disassemble to remove numeric from instruction includes.
2022-03-02 15:30:41 +01:00
chriseth
63f0a22c5d
Also save and restore the nesting depth.
2022-03-02 13:49:40 +01:00
hrkrshnn
85d1a57e65
Added more tests. Updated chromosome. Remove unused headers.
2022-01-04 13:27:39 +05:30
chriseth
772e100813
Equal store eliminator.
2022-01-03 15:52:05 +01:00
chriseth
0e7a065a78
Enhance documentation.
2021-11-23 14:58:04 +01:00
chriseth
bd321b9f1f
Rename RedundantAssignEliminator to UnusedAssignEliminator.
2021-11-23 10:38:36 +01:00
Daniel Kirchner
9fb77b139c
Keep canonical form of Yul code at all times.
2021-11-09 13:29:10 +01:00
Daniel Kirchner
b4f98b41bc
Minor fix to forEach on Yul AST nodes.
2021-11-05 13:24:30 +01:00
chriseth
776ae466bc
Control flow side effects on non-disambiguated source.
2021-11-04 16:32:11 +01:00
chriseth
dd8f12760b
Introduce forEach for yul ast nodes.
2021-11-04 16:14:43 +01:00
Daniel Kirchner
95c973d6c2
Refactoring of optimiser suite and yulopti.
2021-11-03 19:33:01 +01:00
Daniel Kirchner
4229369180
Compatibility with StackCompressor and StackLimitEvader.
2021-11-03 12:39:55 +01:00
chriseth
d6c461ed61
Use side effects of user-defined functions in other optimizer steps.
2021-11-02 11:59:01 +01:00
chriseth
9417d6775f
Control flow side-effects for user-defined functions.
2021-10-14 17:46:07 +02:00
Kamil Śliwak
620ec47efb
OptimizerSuite: Rewrite runSequence() with support for nested brackets
2021-10-06 19:15:02 +02:00
Kamil Śliwak
2fb8f1be5b
OptimiserSuite: Use string_view instead of string for step sequences
2021-10-06 18:48:41 +02:00
Sreekesh V
79d9d5bf0d
Change optimizer sequence validations to allow nested brackets
2021-10-06 18:46:53 +02:00
chriseth
1531863835
Split Common.h into Numeric.h.
2021-09-23 15:27:29 +02:00
chriseth
280ff8cbd4
Use iterateReplacing in StatementRemover.
2021-09-16 15:34:48 +02:00
Daniel Kirchner
c499f27a63
Change RematCandidateSelector to not depend on variable name sorting.
2021-09-08 15:41:40 +02:00
chriseth
be95a8172b
Merge pull request #11891 from ethereum/guidedRematerializer
...
Allow the Rematerializer to be restricted to an exact set of variables.
2021-09-06 16:22:14 +02:00
hrkrshnn
2cdd3b2081
Resolving Keccak-256: check if arguments are identifiers early.
...
Previously, the check on whether the optimization was useful gas wise was done before checking if
the keccak256 opcode had identifier as arguments. Since the gas meter crashes when encountering
certain Yul opcodes (create, dataoffset, etc.), this optimizer step crashed.
2021-09-06 13:48:07 +02:00
Daniel Kirchner
646421fee1
Allow the Rematerializer to be restricted to an exact set of variables.
2021-09-03 15:29:51 +02:00
chriseth
8926274000
Fix recursion protection.
2021-08-19 12:51:54 +02:00
chriseth
4b038e3f02
Extend knowledge base.
2021-08-18 12:42:46 +02:00
Daniel Kirchner
f609288cba
Add missing header.
2021-08-17 16:04:38 +02:00
chriseth
3622b30a1d
Refactor RedundantAssignEliminator.
2021-08-13 14:25:14 +02:00
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