mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Removed the initiation of default outputs in assembler mode
This commit is contained in:
parent
0bbf58ec5e
commit
55ba0d9674
@ -5,6 +5,7 @@ Breaking changes:
|
|||||||
* Disallow ``delete`` on types that contain nested mappings.
|
* Disallow ``delete`` on types that contain nested mappings.
|
||||||
* Inline Assembly: Consider functions, function parameters and return variables for shadowing checks.
|
* Inline Assembly: Consider functions, function parameters and return variables for shadowing checks.
|
||||||
* Commandline Interface: Remapping targets are not automatically added to allowed paths.
|
* Commandline Interface: Remapping targets are not automatically added to allowed paths.
|
||||||
|
* Commandline Interface: Assembler mode no longer enables all outputs by default.
|
||||||
|
|
||||||
|
|
||||||
### 0.8.11 (unreleased)
|
### 0.8.11 (unreleased)
|
||||||
|
@ -68,8 +68,9 @@ function compileFull
|
|||||||
"$SOLC" "${args[@]}" "${files[@]}" >/dev/null 2>"$stderr_path"
|
"$SOLC" "${args[@]}" "${files[@]}" >/dev/null 2>"$stderr_path"
|
||||||
local exit_code=$?
|
local exit_code=$?
|
||||||
local errors; errors=$(grep -v -E \
|
local errors; errors=$(grep -v -E \
|
||||||
-e 'Warning: This is a pre-release compiler version|Warning: Experimental features are turned on|pragma experimental ABIEncoderV2|^ +--> |^ +\||^[0-9]+ +\| ' \
|
-e '^Warning: This is a pre-release compiler version|Warning: Experimental features are turned on|pragma experimental ABIEncoderV2|^ +--> |^ +\||^[0-9]+ +\| $' \
|
||||||
-e 'Warning: Yul is still experimental. Please use the output with care.' \
|
-e '^Warning: Yul is still experimental. Please use the output with care.$' \
|
||||||
|
-e '^Assembler run successful, no output requested.$' \
|
||||||
-e '^No text representation found.$' < "$stderr_path"
|
-e '^No text representation found.$' < "$stderr_path"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1085,6 +1085,9 @@ void CommandLineInterface::assemble(yul::AssemblyStack::Language _language, yul:
|
|||||||
serr() << "No text representation found." << endl;
|
serr() << "No text representation found." << endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_options.compiler.outputs == CompilerOutputs{})
|
||||||
|
serr() << "Assembler run successful, no output requested." << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommandLineInterface::outputCompilationResults()
|
void CommandLineInterface::outputCompilationResults()
|
||||||
|
@ -460,17 +460,6 @@ void CommandLineParser::parseOutputSelection()
|
|||||||
for (auto&& [optionName, outputComponent]: CompilerOutputs::componentMap())
|
for (auto&& [optionName, outputComponent]: CompilerOutputs::componentMap())
|
||||||
m_options.compiler.outputs.*outputComponent = (m_args.count(optionName) > 0);
|
m_options.compiler.outputs.*outputComponent = (m_args.count(optionName) > 0);
|
||||||
|
|
||||||
if (m_options.input.mode == InputMode::Assembler && m_options.compiler.outputs == CompilerOutputs{})
|
|
||||||
{
|
|
||||||
// In assembly mode keep the default outputs enabled for backwards-compatibility.
|
|
||||||
// TODO: Remove this (must be done in a breaking release).
|
|
||||||
m_options.compiler.outputs.asm_ = true;
|
|
||||||
m_options.compiler.outputs.binary = true;
|
|
||||||
m_options.compiler.outputs.irOptimized = true;
|
|
||||||
m_options.compiler.outputs.ewasm = true;
|
|
||||||
m_options.compiler.outputs.ewasmIR = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<string> unsupportedOutputs;
|
vector<string> unsupportedOutputs;
|
||||||
for (auto&& [optionName, outputComponent]: CompilerOutputs::componentMap())
|
for (auto&& [optionName, outputComponent]: CompilerOutputs::componentMap())
|
||||||
if (m_options.compiler.outputs.*outputComponent && !outputSupported(m_options.input.mode, optionName))
|
if (m_options.compiler.outputs.*outputComponent && !outputSupported(m_options.input.mode, optionName))
|
||||||
|
@ -581,11 +581,11 @@ printTask "Testing assemble, yul, strict-assembly and optimize..."
|
|||||||
# Test yul and strict assembly output
|
# Test yul and strict assembly output
|
||||||
# Non-empty code results in non-empty binary representation with optimizations turned off,
|
# Non-empty code results in non-empty binary representation with optimizations turned off,
|
||||||
# while it results in empty binary representation with optimizations turned on.
|
# while it results in empty binary representation with optimizations turned on.
|
||||||
test_solc_assembly_output "{ let x:u256 := 0:u256 }" "{ let x := 0 }" "--yul"
|
test_solc_assembly_output "{ let x:u256 := 0:u256 }" "{ let x := 0 }" "--yul --ir-optimized"
|
||||||
test_solc_assembly_output "{ let x:u256 := bitnot(7:u256) }" "{ let x := bitnot(7) }" "--yul"
|
test_solc_assembly_output "{ let x:u256 := bitnot(7:u256) }" "{ let x := bitnot(7) }" "--yul --ir-optimized"
|
||||||
test_solc_assembly_output "{ let t:bool := not(true) }" "{ let t:bool := not(true) }" "--yul"
|
test_solc_assembly_output "{ let t:bool := not(true) }" "{ let t:bool := not(true) }" "--yul --ir-optimized"
|
||||||
test_solc_assembly_output "{ let x := 0 }" "{ let x := 0 }" "--strict-assembly"
|
test_solc_assembly_output "{ let x := 0 }" "{ let x := 0 }" "--strict-assembly --ir-optimized"
|
||||||
test_solc_assembly_output "{ let x := 0 }" "{ { } }" "--strict-assembly --optimize"
|
test_solc_assembly_output "{ let x := 0 }" "{ { } }" "--strict-assembly --optimize --ir-optimized"
|
||||||
)
|
)
|
||||||
|
|
||||||
printTask "Testing the eqivalence of --experimental-via-ir and a two-stage compilation..."
|
printTask "Testing the eqivalence of --experimental-via-ir and a two-stage compilation..."
|
||||||
|
@ -1 +1 @@
|
|||||||
--assemble --optimize --yul-dialect evm --machine ewasm
|
--assemble --optimize --yul-dialect evm --machine ewasm --bin --asm --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--assemble --optimize --yul-dialect evm --machine ewasm
|
--assemble --optimize --yul-dialect evm --machine ewasm --bin --asm --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries contract/test.sol:L=0x1234567890123456789012345678901234567890
|
--strict-assembly --bin --libraries contract/test.sol:L=0x1234567890123456789012345678901234567890
|
||||||
|
@ -1,26 +1,6 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly/input.yul (EVM) =======
|
======= linking_strict_assembly/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr := linkersymbol("contract/test.sol:L")
|
|
||||||
sstore(0, addr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
7312345678901234567890123456789012345678908060005550
|
7312345678901234567890123456789012345678908060005550
|
||||||
|
|
||||||
Text representation:
|
|
||||||
/* "linking_strict_assembly/input.yul":44:79 */
|
|
||||||
linkerSymbol("f919ba91ac99f96129544b80b9516b27a80e376b9dc693819d0b18b7e0395612")
|
|
||||||
/* "linking_strict_assembly/input.yul":98:102 */
|
|
||||||
dup1
|
|
||||||
/* "linking_strict_assembly/input.yul":95:96 */
|
|
||||||
0x00
|
|
||||||
/* "linking_strict_assembly/input.yul":88:103 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly/input.yul":22:109 */
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries :L=0x1234567890123456789012345678901234567890 --debug-info none
|
--strict-assembly --bin --libraries :L=0x1234567890123456789012345678901234567890 --debug-info none
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_qualified_library_qualified_reference/input.yul (EVM) =======
|
======= linking_strict_assembly_qualified_library_qualified_reference/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr := linkersymbol(":L")
|
|
||||||
sstore(0, addr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
7312345678901234567890123456789012345678908060005550
|
7312345678901234567890123456789012345678908060005550
|
||||||
|
|
||||||
Text representation:
|
|
||||||
linkerSymbol("20a18a9bf97d889dcf77111b674da319a4e9e3e05d3f4df9e0bf5c588dd4f0f8")
|
|
||||||
dup1
|
|
||||||
0x00
|
|
||||||
sstore
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries :L=0x1234567890123456789012345678901234567890 --debug-info none
|
--strict-assembly --bin --libraries :L=0x1234567890123456789012345678901234567890 --debug-info none
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_qualified_library_unqualified_reference/input.yul (EVM) =======
|
======= linking_strict_assembly_qualified_library_unqualified_reference/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr := linkersymbol("L")
|
|
||||||
sstore(0, addr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
73__$8aa64f937099b65a4febc243a5ae0f2d64$__8060005550
|
73__$8aa64f937099b65a4febc243a5ae0f2d64$__8060005550
|
||||||
|
|
||||||
Text representation:
|
|
||||||
linkerSymbol("8aa64f937099b65a4febc243a5ae0f2d6416bb9e473c30dd29c1ee498fb7c5a8")
|
|
||||||
dup1
|
|
||||||
0x00
|
|
||||||
sstore
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries library1.sol:L=0x1111111111111111111111111111111111111111,library2.sol:L=0x2222222222222222222222222222222222222222
|
--strict-assembly --bin --libraries library1.sol:L=0x1111111111111111111111111111111111111111,library2.sol:L=0x2222222222222222222222222222222222222222
|
||||||
|
@ -1,37 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_same_library_name_different_files/input.yul (EVM) =======
|
======= linking_strict_assembly_same_library_name_different_files/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr1 := linkersymbol("library1.sol:L")
|
|
||||||
let addr2 := linkersymbol("library2.sol:L")
|
|
||||||
sstore(0, addr1)
|
|
||||||
sstore(1, addr2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
73111111111111111111111111111111111111111173222222222222222222222222222222222222222281600055806001555050
|
73111111111111111111111111111111111111111173222222222222222222222222222222222222222281600055806001555050
|
||||||
|
|
||||||
Text representation:
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":45:75 */
|
|
||||||
linkerSymbol("f3ffc10c396a7cc41ae954b050792839d20947bf73497d30c49a9fda1ea477ec")
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":97:127 */
|
|
||||||
linkerSymbol("c3523432985587641d17c68161d2f700c57aaf4ed21cda4f25d76193c831f97f")
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":146:151 */
|
|
||||||
dup2
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":143:144 */
|
|
||||||
0x00
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":136:152 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":171:176 */
|
|
||||||
dup1
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":168:169 */
|
|
||||||
0x01
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":161:177 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files/input.yul":22:183 */
|
|
||||||
pop
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries library1.sol:L=0x1234567890123456789012345678901234567890
|
--strict-assembly --bin --libraries library1.sol:L=0x1234567890123456789012345678901234567890
|
||||||
|
@ -1,37 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul (EVM) =======
|
======= linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr1 := linkersymbol("library1.sol:L")
|
|
||||||
let addr2 := linkersymbol("library2.sol:L")
|
|
||||||
sstore(0, addr1)
|
|
||||||
sstore(1, addr2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
73123456789012345678901234567890123456789073__$c3523432985587641d17c68161d2f700c5$__81600055806001555050
|
73123456789012345678901234567890123456789073__$c3523432985587641d17c68161d2f700c5$__81600055806001555050
|
||||||
|
|
||||||
Text representation:
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":45:75 */
|
|
||||||
linkerSymbol("f3ffc10c396a7cc41ae954b050792839d20947bf73497d30c49a9fda1ea477ec")
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":97:127 */
|
|
||||||
linkerSymbol("c3523432985587641d17c68161d2f700c57aaf4ed21cda4f25d76193c831f97f")
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":146:151 */
|
|
||||||
dup2
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":143:144 */
|
|
||||||
0x00
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":136:152 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":171:176 */
|
|
||||||
dup1
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":168:169 */
|
|
||||||
0x01
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":161:177 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_same_library_name_different_files_in_link_references/input.yul":22:183 */
|
|
||||||
pop
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries L=0x1234567890123456789012345678901234567890 --debug-info none
|
--strict-assembly --bin --libraries L=0x1234567890123456789012345678901234567890 --debug-info none
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_unqualified_library_qualified_reference/input.yul (EVM) =======
|
======= linking_strict_assembly_unqualified_library_qualified_reference/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr := linkersymbol(":L")
|
|
||||||
sstore(0, addr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
73__$20a18a9bf97d889dcf77111b674da319a4$__8060005550
|
73__$20a18a9bf97d889dcf77111b674da319a4$__8060005550
|
||||||
|
|
||||||
Text representation:
|
|
||||||
linkerSymbol("20a18a9bf97d889dcf77111b674da319a4e9e3e05d3f4df9e0bf5c588dd4f0f8")
|
|
||||||
dup1
|
|
||||||
0x00
|
|
||||||
sstore
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries L=0x1234567890123456789012345678901234567890 --debug-info none
|
--strict-assembly --bin --libraries L=0x1234567890123456789012345678901234567890 --debug-info none
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_unqualified_library_unqualified_reference/input.yul (EVM) =======
|
======= linking_strict_assembly_unqualified_library_unqualified_reference/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr := linkersymbol("L")
|
|
||||||
sstore(0, addr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
7312345678901234567890123456789012345678908060005550
|
7312345678901234567890123456789012345678908060005550
|
||||||
|
|
||||||
Text representation:
|
|
||||||
linkerSymbol("8aa64f937099b65a4febc243a5ae0f2d6416bb9e473c30dd29c1ee498fb7c5a8")
|
|
||||||
dup1
|
|
||||||
0x00
|
|
||||||
sstore
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --libraries contract/test.sol:L1=0x1234567890123456789012345678901234567890
|
--strict-assembly --bin --libraries contract/test.sol:L1=0x1234567890123456789012345678901234567890
|
||||||
|
@ -1,37 +1,5 @@
|
|||||||
|
|
||||||
======= linking_strict_assembly_unresolved_references/input.yul (EVM) =======
|
======= linking_strict_assembly_unresolved_references/input.yul (EVM) =======
|
||||||
|
|
||||||
Pretty printed source:
|
|
||||||
object "a" {
|
|
||||||
code {
|
|
||||||
let addr1 := linkersymbol("contract/test.sol:L1")
|
|
||||||
let addr2 := linkersymbol("contract/test.sol:L2")
|
|
||||||
sstore(0, addr1)
|
|
||||||
sstore(1, addr2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
Binary representation:
|
||||||
73123456789012345678901234567890123456789073__$fb58009a6b1ecea3b9d99bedd645df4ec3$__81600055806001555050
|
73123456789012345678901234567890123456789073__$fb58009a6b1ecea3b9d99bedd645df4ec3$__81600055806001555050
|
||||||
|
|
||||||
Text representation:
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":45:81 */
|
|
||||||
linkerSymbol("05b0326038374a21e0895480a58bda0768cdcc04c8d18f154362d1ca5223d245")
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":103:139 */
|
|
||||||
linkerSymbol("fb58009a6b1ecea3b9d99bedd645df4ec308f17bc0087e5f39d078f77f809177")
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":158:163 */
|
|
||||||
dup2
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":155:156 */
|
|
||||||
0x00
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":148:164 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":183:188 */
|
|
||||||
dup1
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":180:181 */
|
|
||||||
0x01
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":173:189 */
|
|
||||||
sstore
|
|
||||||
/* "linking_strict_assembly_unresolved_references/input.yul":22:195 */
|
|
||||||
pop
|
|
||||||
pop
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --optimize
|
--strict-assembly --optimize --bin --asm --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --debug-info all
|
--strict-assembly --debug-info all --bin --asm --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --debug-info location
|
--strict-assembly --debug-info location --bin --asm --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --debug-info none
|
--strict-assembly --debug-info none --bin --asm --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --optimize --yul-optimizations dhfoDgvulfnTUtnIf
|
--strict-assembly --optimize --ir-optimized --yul-optimizations dhfoDgvulfnTUtnIf
|
||||||
|
@ -22,64 +22,3 @@ object "C_6" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Binary representation:
|
|
||||||
608060405234601557600e601b600039600e6000f35b600080fdfe60806040523615600055600080fd
|
|
||||||
|
|
||||||
Text representation:
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":45:48 */
|
|
||||||
0x80
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":41:43 */
|
|
||||||
0x40
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":34:49 */
|
|
||||||
mstore
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":61:72 */
|
|
||||||
callvalue
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":58:89 */
|
|
||||||
tag_1
|
|
||||||
jumpi
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":138:162 */
|
|
||||||
dataSize(sub_0)
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":110:136 */
|
|
||||||
dataOffset(sub_0)
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":107:108 */
|
|
||||||
0x00
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":98:163 */
|
|
||||||
codecopy
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":182:206 */
|
|
||||||
dataSize(sub_0)
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":179:180 */
|
|
||||||
0x00
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":172:207 */
|
|
||||||
return
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":73:89 */
|
|
||||||
tag_1:
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":85:86 */
|
|
||||||
0x00
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":75:87 */
|
|
||||||
dup1
|
|
||||||
revert
|
|
||||||
stop
|
|
||||||
|
|
||||||
sub_0: assembly {
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":298:301 */
|
|
||||||
0x80
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":294:296 */
|
|
||||||
0x40
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":287:302 */
|
|
||||||
mstore
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":533:547 */
|
|
||||||
calldatasize
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":526:548 */
|
|
||||||
iszero
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":523:524 */
|
|
||||||
0x00
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":516:549 */
|
|
||||||
sstore
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":576:577 */
|
|
||||||
0x00
|
|
||||||
/* "strict_asm_optimizer_steps/input.yul":566:578 */
|
|
||||||
dup1
|
|
||||||
revert
|
|
||||||
}
|
|
||||||
|
@ -1 +1 @@
|
|||||||
--yul --yul-dialect ewasm --machine ewasm
|
--yul --yul-dialect ewasm --machine ewasm --bin --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--yul --yul-dialect ewasm --machine ewasm
|
--yul --yul-dialect ewasm --machine ewasm --bin --ewasm --ewasm-ir --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --debug-info none
|
--strict-assembly --debug-info none --bin --asm --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly
|
--strict-assembly --bin --asm --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--yul --yul-dialect evm --optimize --optimize-runs 10000
|
--yul --yul-dialect evm --optimize --bin --asm --ir-optimized --optimize-runs 10000
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly
|
--strict-assembly --bin --asm --ir-optimized
|
||||||
|
@ -1 +1 @@
|
|||||||
--strict-assembly --optimize
|
--strict-assembly --bin --asm --ir-optimized --optimize
|
||||||
|
Loading…
Reference in New Issue
Block a user