Daniel Kirchner
4229369180
Compatibility with StackCompressor and StackLimitEvader.
2021-11-03 12:39:55 +01:00
chriseth
8e208f23cb
Fix assignment of return variables from modifiers.
2021-11-01 14:14:50 +01:00
chriseth
49d7b78466
Merge pull request #12123 from ethereum/empty-switch-12068
...
CodeGen: Only output switch when it has cases
2021-10-12 17:42:49 +02:00
Mathias Baumann
454860d1f5
CodeGen: Only output switch when it has cases
2021-10-12 17:40:31 +02:00
Kamil Śliwak
bcfefc79d9
Pass DebugInfoSelection down to the code handling assembly printing
2021-10-11 20:34:48 +02:00
Kamil Śliwak
f7c4ed849d
Handle DebugInfoSelection in the code printing Yul and EVM assembly
2021-10-11 20:34:48 +02:00
Kamil Śliwak
7f7107405f
Try out the new assertion macro variants with less arguments
2021-10-04 12:05:00 +02:00
chriseth
8b3748e5b7
Emit ast id.
2021-09-16 17:19:17 +02:00
Kamil Śliwak
14639efc5d
Print code snippets next to source locations in IR output
2021-09-14 12:09:59 +02:00
chriseth
5093cff7ae
Rename source location function.
2021-09-06 18:33:36 +02:00
chriseth
f14b7598c7
Only list used source names.
2021-09-06 18:33:05 +02:00
chriseth
5d2931cba3
Refactor: Add helper for context.
2021-09-06 18:18:33 +02:00
chriseth
5caa15879b
Allow and require use-src to be repeated for each object.
2021-09-02 11:29:42 +02:00
Marenz
121fd40f74
Allow reading of immutables during construction time
2021-08-19 13:59:05 +02:00
Mathias Baumann
2ee6c7be64
Print @src and @use-src locations in AsmPrinter
2021-08-03 15:29:52 +02:00
Mathias Baumann
bf204403d8
Add "@use-src" header for generated yul code
2021-07-15 14:26:01 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
Alexander Arlt
8accf420ea
[yul] Functions: Remove dependency on AST ID.
2021-06-23 16:15:25 +02:00
Djordje Mijovic
838f59fa5b
Adding origin location notation to yul ir.
2021-06-21 18:48:20 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
Mathias Baumann
d7d64c3db5
IR Codegen: Small refactoring & comment fixes
2021-06-14 13:35:53 +02:00
Alex Beregszaszi
bf2c82adca
Document the panic function of library deployment
2021-05-26 15:51:46 +01:00
Daniel Kirchner
c69add1682
Remove import of ranges namespace.
2021-05-07 13:44:14 +02:00
chriseth
62355aead3
Respect memory model for revert.
2021-05-03 18:23:41 +02:00
chriseth
79acebe46f
Allocate for returning runtime code.
2021-04-29 16:40:51 +02:00
Daniel Kirchner
96c8123b6b
Use unbounded allocation before returning.
2021-04-08 18:37:24 +02:00
anurag4u80
bbcdddeed9
Replaced keys, values and reverse with ranges
2021-03-31 23:33:04 +05:30
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
chriseth
16db3a84f1
Fix call graph with respect to constants.
2021-02-25 16:00:53 +01:00
Kamil Śliwak
781f00771c
Remove IRGenerator::verifyCallGraphs and make generate() verify the graphs automatically
2021-02-23 10:47:02 +01:00
Kamil Śliwak
6c28120f19
Move CallGraph structure to a separate module
2021-02-23 10:47:02 +01:00
Mathias Baumann
4c283f00c1
Add IRGenerator::verifyCallGraphs()
2021-02-23 10:46:28 +01:00
hrkrshnn
0135cae222
Fix IR bug: constructor parameter that needs multiple stack slots
...
When an argument had multiple stack slots, like `function() external`, there wasn't enough variables
assigned for the constructor. This lead to some mismatch between return values and arguments between
some functions.
2021-02-12 17:42:02 +01:00
hrkrshnn
7786e6d561
Fix IR bug when modifier parameter was function return variable
...
The bug was that function return variables were not part of the m_context.localVariable during
the modifier generation and a looking up them was throwing.
2021-02-11 14:44:55 +01:00
Harikrishnan Mulackal
215233d5c8
Merge pull request #10945 from ethereum/constructor-modifier-bugfix
...
Fix IR bug about calling the wrong modifier during construction
2021-02-10 21:42:45 +01:00
hrkrshnn
2f30fdaa21
Fix IR bug about calling the wrong modifier during construction
2021-02-10 20:53:11 +01:00
chriseth
a72ab1c9c1
Replace "runtime" by "deployed" naming.
2021-02-10 00:56:16 +01:00
Alexander Arlt
061fecbc90
[whiskers] Add check that template contain tags.
2021-01-20 15:26:34 -05:00
Alex Beregszaszi
7c7fd22062
Include revert strings in IR
2021-01-14 18:45:12 +01:00
chriseth
8ad9290086
Fix modifier lookup.
2021-01-14 11:01:14 +01:00
chriseth
5c453acbe8
Fix encoding of library return values.
2021-01-11 20:37:45 +01:00
chriseth
e807c9bb63
Library call guard.
2021-01-11 20:37:44 +01:00
Djordje Mijovic
2d5a2c65a8
[Sol->Yul] Implementing getters for bytes and structs containing bytes member.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-21 14:46:06 +01:00
chriseth
35908c602b
Modifiers for constructors.
2020-12-17 17:00:51 +01:00
chriseth
ccaa81fbe7
Implement function modifiers.
2020-12-17 17:00:51 +01:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
chriseth
e97ca0a777
Evaluate base arguments in derived to base order.
2020-12-08 20:27:06 +01:00
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
Alex Beregszaszi
28e65bac46
Add unimplemented assert for modifiers in the IR
...
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
2020-11-27 18:34:17 +00:00
chriseth
253889cbf1
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-24 16:22:03 +01:00