// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; contract C { constructor() payable { int a; // Can't be optimized due to external reference "a" assembly { let x,y,z sstore(0, 1) for { } sload(4) { } { z := exp(x, y) } a := 2 } // Can be optimized due to no external references assembly { let x,y,z sstore(2, 3) for { } sload(5) { } { // Expected to be optimized out for yulOptimizer, but not for // old optimizer z := exp(x, y) } } } }