aboutsummaryrefslogtreecommitdiffstats
path: root/test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-10-02 00:27:07 +0800
committerchriseth <chris@ethereum.org>2018-10-12 21:19:29 +0800
commitd60a2511fdc625928b5a2ee449e39ba78a3d1296 (patch)
treea885022f3f4d0c89608f161a10d8d668a8fc7e89 /test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul
parent1d312c8e4073e2e7ce9a23a721013942e1e5c727 (diff)
downloaddexon-solidity-d60a2511fdc625928b5a2ee449e39ba78a3d1296.tar.gz
dexon-solidity-d60a2511fdc625928b5a2ee449e39ba78a3d1296.tar.zst
dexon-solidity-d60a2511fdc625928b5a2ee449e39ba78a3d1296.zip
Expression joiner.
Diffstat (limited to 'test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul')
-rw-r--r--test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul b/test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul
new file mode 100644
index 00000000..a781bb2a
--- /dev/null
+++ b/test/libjulia/yulOptimizerTests/expressionJoiner/no_replacement_across_blocks.yul
@@ -0,0 +1,19 @@
+{
+ // The component will remove the empty block after
+ // it has handled the outer block.
+ // The idea behind this test is that the component
+ // does not perform replacements across blocks because
+ // they usually have contents, but adding contents
+ // will reduce the scope of the test.
+ let a := mload(2)
+ let x := calldataload(a)
+ {
+ }
+ sstore(x, 3)
+}
+// ----
+// expressionJoiner
+// {
+// let x := calldataload(mload(2))
+// sstore(x, 3)
+// }