Commit Graph
937 Commits
Author SHA1 Message Date
chriseth c12d151834 Only analyze memory in DataFlowAnalyzer if it is needed in the optimizer step. 2022-07-11 15:51:25 +02:00
Kamil Śliwak 4c85cb880e Merge pull request #13238 from ethereum/improve-stack-too-deep-message
Improved stack too deep message when compiled without --optimize
2022-07-06 12:43:36 +02:00
Matheus Aguiar 290bd4fd2d Added a flag to record when a source is reconstructed from JSON so garbage code snippets are not printed after source location. 2022-07-05 11:41:24 -03:00
hrkrshnn 0b2a670a94 Improved stack too deep message when compiled without --optimize 2022-07-03 14:03:00 +02:00
chriseth 51ef6a62da Fix removal of memory stores in inline assembly blocks. 2022-06-10 17:32:28 +02:00
Christian Parpart 4ae43884d0 Apply a better way to annotate unreachability to the C++ compiler. 2022-06-07 16:41:04 +02:00
Kamil Śliwak 539e139555 Add explicit throws after some assertions to work around a spurious warning in GCC 12.1 2022-06-01 20:37:48 +02:00
Daniel Kirchner 7168c27f0d Relax inliner heuristics. 2022-05-23 13:37:50 +02:00
Daniel Kirchner 9fa907aac2 Do not remove potentially reverting returndatacopy cases. 2022-05-23 11:01:03 +02:00
hrkrshnn 5ae17c8e65 Recommend via-ir whenever a stack too deep error is encountered. 2022-05-05 19:22:03 +02:00
a3d4 048b253a93 Refix MSVC Debug crash 2022-04-26 01:52:56 +02:00
Joshua Quinones e1a59397c6 Renamed AssemblyStack to YulStack
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
Kamil Śliwak 3c5930dd8e Put arguments in parantheses in assert macro definitions 2022-04-06 22:26:21 +02:00
a3d4 44093f2ed6 Fix MSVC Debug crash 2022-04-06 01:34:58 +02:00
chriseth a054285f31 Simplify rematerialization candidates. 2022-03-16 16:43:21 +01:00
chriseth af86a80536 Merge pull request #12796 from ethereum/refactorStackCompressor
Refactor stack compressor
2022-03-16 16:36:41 +01:00
chriseth 75abe92eb2 Refactor stack compressor. 2022-03-15 21:28:47 +01:00
Daniel Kirchner 5cd98006d4 Fill in junk in stack layouts on terminating control flow paths. 2022-03-15 18:36:55 +01:00
chriseth 5afa2adec2 Merge pull request #12775 from ethereum/refactorDataFlowAnalyzer
Refactor data flow analyzer state access.
2022-03-15 15:52:40 +01:00
chriseth 28593839d9 Add helper to see if a switch has a default case. 2022-03-15 14:29:54 +01:00
chriseth afdf22f5c7 Create a state struct. 2022-03-14 19:32:33 +01:00
chriseth eab4ca906c Refactor data flow analyzer state access. 2022-03-14 19:32:33 +01:00
Daniel Kirchner 9410e125da Change memory-safe assembly annotation suggestion during stack too deep errors. 2022-03-14 11:54:09 +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
Daniel Kirchner e0c837b33b Remove isCreation flag from OptimiserSettings. 2022-03-09 17:53:28 +01:00
Daniel Kirchner ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
Tyler 519e1c9402 Specify namespaces
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
chriseth 77c40cd2af Merge pull request #12740 from ethereum/remove-locale-dependent-operations
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman 52dfccca98 Replace all locale-dependent operations with locale-agnostic counterparts 2022-03-07 17:23:08 +01:00
chriseth 4f19d68ee9 Merge pull request #12620 from ethereum/assemblyAnnotation
Memory-safety annotation for inline assembly.
2022-03-07 12:48:41 +01:00
Daniel Kirchner dfb7bf2853 Report memoryguard in stack too deep error. 2022-03-02 16:42:28 +01:00
Daniel Kirchner 9bcfcc61a7 Inline assembly without memory effects is implicitly memory safe. 2022-03-02 16:42:28 +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
Daniel Kirchner de28f31716 Improved stack shuffling in corner cases. 2022-01-21 15:41:30 +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 9a0821f2c3 Fix warning about reference. 2021-12-16 00:12:19 +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
Marenz 49b4e77d6b Prevent crash when translating yul->ewasm with @use-src annotations 2021-11-11 13:43:57 +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 25c41546ee Function reference resolver. 2021-11-04 16:31:18 +01:00
chriseth dd8f12760b Introduce forEach for yul ast nodes. 2021-11-04 16:14:43 +01:00