Open ControlCplusControlV opened 1 year ago
Constant Folding
Evaluate all expressions which can be evaluated at compile time
c := add(100, 15) a := add(c, 50) b := add(b, 10)
Should compiled down to a block which just PUSH's the result of 175 onto the stack.
175
Test Cases
Input Yul
{ let c:u32 := add(100, 15) let a:u32 := sub(c, 50) let b:u32 := mul(a, 10) let d:u32 := div(b, 2) }
Assembly Output
use.std::math::u256
begin
# u32 literal 425 # push.425
end
2. Input Yul ```clike= { let c := add(100, 15) let a := sub(c, 50) let b := mul(a, 10) let d := div(b, 2) }
# u256 literal: 425 # push.425 push.0 push.0 push.0 push.0 push.0 push.0 push.0
Constant Folding
Evaluate all expressions which can be evaluated at compile time
Should compiled down to a block which just PUSH's the result of
175
onto the stack.Test Cases
Input Yul
Assembly Output
begin
Assigning to d
end
begin
Assigning to d
end