aboutsummaryrefslogtreecommitdiffstats
path: root/test/libyul/yulOptimizerTests/fullInliner/double_inline.yul
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-10-02 16:46:59 +0800
committerchriseth <chris@ethereum.org>2018-10-16 23:16:03 +0800
commite2e4a9fe81656724111c444cbf253d39bbb2b67b (patch)
treebf6b303303ac1c3ab106caeaee476e9c973a9df0 /test/libyul/yulOptimizerTests/fullInliner/double_inline.yul
parent72b1bb00bd86ea3c647b3f327c416ab8f3421166 (diff)
downloaddexon-solidity-e2e4a9fe81656724111c444cbf253d39bbb2b67b.tar.gz
dexon-solidity-e2e4a9fe81656724111c444cbf253d39bbb2b67b.tar.zst
dexon-solidity-e2e4a9fe81656724111c444cbf253d39bbb2b67b.zip
New full inliner.
Diffstat (limited to 'test/libyul/yulOptimizerTests/fullInliner/double_inline.yul')
-rw-r--r--test/libyul/yulOptimizerTests/fullInliner/double_inline.yul30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/libyul/yulOptimizerTests/fullInliner/double_inline.yul b/test/libyul/yulOptimizerTests/fullInliner/double_inline.yul
new file mode 100644
index 00000000..dd1c1f8a
--- /dev/null
+++ b/test/libyul/yulOptimizerTests/fullInliner/double_inline.yul
@@ -0,0 +1,30 @@
+{
+ function f(a) -> b, c { let x := mload(a) b := sload(x) c := 3 }
+ let a1 := calldataload(0)
+ let b3, c3 := f(a1)
+ let b4, c4 := f(c3)
+}
+// ----
+// fullInliner
+// {
+// {
+// let f_a := calldataload(0)
+// let f_b
+// let f_c
+// f_b := sload(mload(f_a))
+// f_c := 3
+// let b3 := f_b
+// let f_a_1 := f_c
+// let f_b_1
+// let f_c_1
+// f_b_1 := sload(mload(f_a_1))
+// f_c_1 := 3
+// let b4 := f_b_1
+// let c4 := f_c_1
+// }
+// function f(a) -> b, c
+// {
+// b := sload(mload(a))
+// c := 3
+// }
+// }