solidity/test/libyul/yulStackLayout/variables.yul

52 lines
911 B
Plaintext
Raw Normal View History

{
let x := calldataload(0)
let y := calldataload(2)
x := calldataload(3)
y := calldataload(4)
sstore(x,y)
}
// ----
// digraph CFG {
// nodesep=0.7;
// node[shape=box];
//
// Entry [label="Entry"];
// Entry -> Block0;
// Block0 [label="\
// [ ]\l\
// [ 0x00 ]\l\
// calldataload\l\
// [ TMP[calldataload, 0] ]\l\
// [ TMP[calldataload, 0] ]\l\
// Assignment(x)\l\
// [ x ]\l\
// [ 0x02 ]\l\
// calldataload\l\
// [ TMP[calldataload, 0] ]\l\
// [ TMP[calldataload, 0] ]\l\
// Assignment(y)\l\
// [ y ]\l\
// [ 0x03 ]\l\
// calldataload\l\
// [ TMP[calldataload, 0] ]\l\
// [ TMP[calldataload, 0] ]\l\
// Assignment(x)\l\
// [ x ]\l\
// [ x 0x04 ]\l\
// calldataload\l\
// [ x TMP[calldataload, 0] ]\l\
// [ x TMP[calldataload, 0] ]\l\
// Assignment(y)\l\
// [ x y ]\l\
// [ y x ]\l\
// sstore\l\
// [ ]\l\
// [ ]\l\
// "];
// Block0Exit [label="MainExit"];
// Block0 -> Block0Exit;
//
// }