mingchuan
|
d49733dfc3
|
Fix variable decl scope issue in DeadCodeEliminator
FoorLoopInitRewriter needs to be run before DeadCodeEliminator.
|
2019-04-10 19:00:29 +08:00 |
|
chriseth
|
0d2ae84081
|
Use move semantics.
|
2019-04-05 13:41:39 +02:00 |
|
chriseth
|
054c16aa05
|
[Yul] Fix registration of functions in scopes.
|
2019-04-05 13:41:38 +02:00 |
|
chriseth
|
d20b3c9f9f
|
Function grouper is a requirement for the VarNameCleaner.
|
2019-04-05 13:41:38 +02:00 |
|
chriseth
|
887112b1b0
|
Fix SSA for multi-assignments.
|
2019-04-04 12:06:04 +02:00 |
|
Mathias Baumann
|
e20acf5d0a
|
Yul Optimizer: Remove dead code
|
2019-04-01 17:16:04 +02:00 |
|
chriseth
|
3264e9abf0
|
Make optimiser settings available to assembly stack.
|
2019-03-28 18:24:13 +01:00 |
|
chriseth
|
e82dcd1f91
|
Fix namespace.
|
2019-03-28 14:55:50 +01:00 |
|
chriseth
|
2b0c653f57
|
Merge pull request #6241 from ethereum/yul-bc-codegen
Yul codegen for break & continue statements
|
2019-03-28 14:48:50 +01:00 |
|
chriseth
|
529aca5cbd
|
Merge pull request #6407 from ethereum/changeNamespace
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 14:32:07 +01:00 |
|
Christian Parpart
|
b8c6274179
|
[yul] Implements EVM codegen for break/continue plus respective tests & ChangeLog entry.
|
2019-03-28 14:09:25 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
chriseth
|
6d8e84c93e
|
Merge pull request #6315 from ethereum/yul-for-continue-tests
[Yul] RedundantAssignEliminator adoptions for continue/break AST nodes
|
2019-03-28 12:18:02 +01:00 |
|
chriseth
|
91f96c299e
|
More logic about control flow with continue and about finalize. Remove BlockScope.
|
2019-03-27 22:16:31 +01:00 |
|
Christian Parpart
|
a1ec49409d
|
Yul] RedundantAssignEliminator: Implements break/continue handling within ForLoop.
|
2019-03-26 17:36:43 +01:00 |
|
Alex Beregszaszi
|
c26ffa737e
|
Use move semantics on StackToDeepError
|
2019-03-26 16:15:16 +00:00 |
|
chriseth
|
caddce6ef0
|
Detect duplicate cases based on integer value of case label.
|
2019-03-25 12:38:22 +01:00 |
|
chriseth
|
8514c0bc60
|
Provide max iterations for stack compressor as parameter.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
aa9a2935ac
|
Properly determine whether a variable can be eliminated or not.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
chriseth
|
93027c40b6
|
Merge pull request #6322 from ethereum/asm-datasize-exception-fix
Improve exception information in Yul function datasize(name) and dataoffset(name).
|
2019-03-20 10:50:49 +01:00 |
|
Alex Beregszaszi
|
5245a66d91
|
Merge pull request #6318 from ethereum/signal-failure-and-such
Allow simplification patterns to signal failure
|
2019-03-20 03:38:51 +00:00 |
|
Christian Parpart
|
7f7f44dd63
|
Improve exception information in Yul function datasize(name) and dataoffset(name).
Makes sure we properly throw a detailed exception instead of an out_of_range from std::map.
|
2019-03-19 17:17:32 +01:00 |
|
Alex Beregszaszi
|
f95388011b
|
Allow simplification patterns to signal failure
|
2019-03-19 15:51:52 +01:00 |
|
Christian Parpart
|
89f1dbfbb6
|
[Yul] Refactors RedundantAssignEliminator for future changes wrt. break/continue statements.
|
2019-03-19 12:24:45 +01:00 |
|
chriseth
|
500843f9c5
|
Merge pull request #6242 from ethereum/yul-bc-dataflow
Yul dataflow analysis for continue/break statements
|
2019-03-14 16:34:34 +01:00 |
|
Christian Parpart
|
57bcb8ba83
|
[yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without.
|
2019-03-14 16:18:45 +01:00 |
|
chriseth
|
49d914a391
|
Fix and test yul stack optimization flag for commandline interface.
|
2019-03-14 15:34:23 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
2019-03-14 15:34:23 +01:00 |
|
chriseth
|
62d8080a19
|
Update optimiser readme.
|
2019-03-12 22:02:09 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
chriseth
|
791fde953d
|
First simplify switch with known constant expression.
|
2019-03-06 21:32:55 +01:00 |
|
chriseth
|
21115f8050
|
Fix visitation order bug for structural simplifier.
|
2019-03-06 19:34:07 +01:00 |
|
Mathias Baumann
|
21322dae29
|
YulOpt: Remove empty cases
|
2019-03-06 19:02:23 +01:00 |
|
Mathias Baumann
|
be52aa3181
|
YulOpt: Move if-branches into functions
|
2019-03-06 19:01:05 +01:00 |
|
Mathias Baumann
|
3ce7069766
|
YulOpt: Remove empty cases
|
2019-03-06 18:39:44 +01:00 |
|
Mathias Baumann
|
433175b19e
|
YulOpt: Add comment about optimization
|
2019-03-06 18:39:44 +01:00 |
|
Mathias Baumann
|
db3bea7b56
|
Use reference for so we have to type less
|
2019-03-06 18:39:44 +01:00 |
|
chriseth
|
831353c590
|
Merge pull request #6172 from ethereum/runYulOptAsLongAsHelpful
[Yul] Run yul optimizer until it has no effect anymore.
|
2019-03-06 11:41:22 +01:00 |
|
chriseth
|
f35694f655
|
Run yul optimizer until it has no effect anymore.
|
2019-03-05 20:30:13 +01:00 |
|
Mathias Baumann
|
f6e09d6368
|
YulOpt: Extend StructuralSimplifier to work with all types
|
2019-03-05 18:39:27 +01:00 |
|
Mathias Baumann
|
a52b50d770
|
libyul: Change assertThrow() to yulAssert()
|
2019-03-05 18:39:27 +01:00 |
|
Mathias Baumann
|
921d52bfcd
|
Move Literal to u256 conversions to extra functions
That way we can reuse them at different places
|
2019-03-05 18:39:27 +01:00 |
|
chriseth
|
d0ab5454f8
|
Merge pull request #6171 from ethereum/ignorePrefixWhileInlining
Do not prepend function name to all variables when inlining.
|
2019-03-05 11:36:53 +01:00 |
|
Alex Beregszaszi
|
c64d42e6f5
|
Use currentToken()/advance() helpers from ParserBase consistently in AsmParser
|
2019-03-04 22:56:36 +01:00 |
|
chriseth
|
3f784d6e00
|
Do not prepend function name to all variables when inlining.
|
2019-03-04 18:07:00 +01:00 |
|
Christian Parpart
|
609855546e
|
Yul: Adds optimizer pass to make variable names suffix-canonical.
|
2019-03-04 17:26:56 +01:00 |
|
Alex Beregszaszi
|
9fc7706537
|
Change unreachable parser error to assertion in AsmParser
|
2019-03-04 15:08:46 +01:00 |
|
chriseth
|
8f5e12c192
|
Make unavailable opcodes errors.
|
2019-02-28 22:20:01 +01:00 |
|
Mathias Baumann
|
c686a65876
|
Yul Optimizer: reduce switches with const arguments
|
2019-02-28 15:43:10 +01:00 |
|