mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update Yul optimizer tests.
This commit is contained in:
parent
e7b95de315
commit
23667ce12d
@ -7,13 +7,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256, b:u256 }
|
// { let a, b }
|
||||||
// {
|
// {
|
||||||
// for { let a_1:u256 } a_1 { a_1 := a_1 }
|
// for { let a_1 } a_1 { a_1 := a_1 }
|
||||||
// { let b_2:u256 := a_1 }
|
// { let b_2 := a_1 }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -7,17 +7,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
|
// { let a, b, c, d, f }
|
||||||
// {
|
// {
|
||||||
// let a:u256, b:u256, c:u256, d:u256, f:u256
|
// function f_1(a_2) -> c_3, d_4
|
||||||
// }
|
// { let b_5, c_1 := f_1(a_2) }
|
||||||
// {
|
|
||||||
// function f_1(a_2:u256) -> c_3:u256, d_4:u256
|
|
||||||
// {
|
|
||||||
// let b_5:u256, c_1:u256 := f_1(a_2)
|
|
||||||
// }
|
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256, b:u256, c:u256 }
|
// { let a, b, c }
|
||||||
// {
|
// {
|
||||||
// let a_1:bool
|
// let a_1:bool
|
||||||
// if a_1 { let b_2:bool := a_1 }
|
// if a_1 { let b_2:bool := a_1 }
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{ { let aanteuhdaoneudbrgkjiuaothduiathudaoeuh:u256 } { let aanteuhdaoneudbrgkjiuaothduiathudaoeuh:u256 } }
|
{ { let aanteuhdaoneudbrgkjiuaothduiathudaoeuh:u256 } { let aanteuhdaoneudbrgkjiuaothduiathudaoeuh:u256 } }
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// {
|
// {
|
||||||
// let aanteuhdaoneudbrgkjiuaothduiathudaoeuh:u256
|
// let aanteuhdaoneudbrgkjiuaothduiathudaoeuh
|
||||||
// }
|
// }
|
||||||
// {
|
// {
|
||||||
// let aanteuhdaoneudbrgkjiuaothduiathudaoeuh_1:u256
|
// let aanteuhdaoneudbrgkjiuaothduiathudaoeuh_1
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -8,15 +8,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256, b:u256, c:u256 }
|
// { let a, b, c }
|
||||||
// {
|
// {
|
||||||
// let a_1:u256
|
// let a_1
|
||||||
// switch a_1
|
// switch a_1
|
||||||
// case 0:u256 { let b_2:u256 := a_1 }
|
// case 0 { let b_2 := a_1 }
|
||||||
// default { let c_3:u256 := a_1 }
|
// default { let c_3 := a_1 }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{ { let a:u256 } { let a:u256 } }
|
{ { let a:u256 } { let a:u256 } }
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256 }
|
// { let a }
|
||||||
// { let a_1:u256 }
|
// { let a_1 }
|
||||||
// }
|
// }
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ { let a:u256 let a_1:u256 } { let a:u256 } }
|
{ { let a:u256 let a_1:u256 } { let a:u256 } }
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// let a_1:u256
|
// let a_1
|
||||||
// }
|
// }
|
||||||
// { let a_2:u256 }
|
// { let a_2 }
|
||||||
// }
|
// }
|
||||||
|
@ -6,18 +6,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: disambiguator
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: disambiguator
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// {
|
// {
|
||||||
// let c:u256
|
// let c
|
||||||
// let b:u256
|
// let b
|
||||||
// }
|
// }
|
||||||
// function f(a:u256, c_1:u256) -> b_2:u256
|
// function f(a, c_1) -> b_2
|
||||||
// { let x:u256 }
|
// { let x }
|
||||||
// {
|
// {
|
||||||
// let a_3:u256
|
// let a_3
|
||||||
// let x_4:u256
|
// let x_4
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
let y:u256 := f()
|
let y:u256 := f()
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: expressionInliner
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: expressionInliner
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function f() -> x:u256
|
// function f() -> x
|
||||||
// { x := 2:u256 }
|
// { x := 2 }
|
||||||
// let y:u256 := 2:u256
|
// let y := 2
|
||||||
// }
|
// }
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
let y:u256 := f(7:u256)
|
let y:u256 := f(7:u256)
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: expressionInliner
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: expressionInliner
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function f(a:u256) -> x:u256
|
// function f(a) -> x
|
||||||
// { x := a }
|
// { x := a }
|
||||||
// let y:u256 := 7:u256
|
// let y := 7
|
||||||
// }
|
// }
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ let a:u256 { } function f() -> x:bool { let b:u256 := 4:u256 {} for {} f() {} {} } }
|
{ let a:u256 { } function f() -> x:bool { let b:u256 := 4:u256 {} for {} f() {} {} } }
|
||||||
// ====
|
// ====
|
||||||
// step: functionGrouper
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionGrouper
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
||||||
// function f() -> x:bool
|
// function f() -> x:bool
|
||||||
// {
|
// {
|
||||||
// let b:u256 := 4:u256
|
// let b := 4
|
||||||
// { }
|
// { }
|
||||||
// for { } f() { }
|
// for { } f() { }
|
||||||
// { }
|
// { }
|
||||||
|
@ -5,17 +5,17 @@
|
|||||||
let e:u256
|
let e:u256
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionGrouper
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionGrouper
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// let c:u256
|
// let c
|
||||||
// let e:u256
|
// let e
|
||||||
// }
|
// }
|
||||||
// function f()
|
// function f()
|
||||||
// { let b:u256 }
|
// { let b }
|
||||||
// function g()
|
// function g()
|
||||||
// { let d:u256 }
|
// { let d }
|
||||||
// }
|
// }
|
||||||
|
@ -9,16 +9,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionGrouper
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionGrouper
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256 }
|
// { let a }
|
||||||
// function f()
|
// function f()
|
||||||
// {
|
// {
|
||||||
// let b:u256
|
// let b
|
||||||
// function g()
|
// function g()
|
||||||
// { let c:u256 }
|
// { let c }
|
||||||
// let d:u256
|
// let d
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
let a:u256 function f() {}
|
let a:u256 function f() {}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionGrouper
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionGrouper
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// { let a:u256 }
|
// { let a }
|
||||||
// function f()
|
// function f()
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
||||||
|
@ -8,14 +8,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionHoister
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionHoister
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// function f() -> x:bool
|
// function f() -> x:bool
|
||||||
// {
|
// {
|
||||||
// let b:u256 := 4:u256
|
// let b := 4
|
||||||
// for { } f() { }
|
// for { } f() { }
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
let e:u256
|
let e:u256
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionHoister
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionHoister
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// let c:u256
|
// let c
|
||||||
// let e:u256
|
// let e
|
||||||
// function f()
|
// function f()
|
||||||
// { let b:u256 }
|
// { let b }
|
||||||
// function g()
|
// function g()
|
||||||
// { let d:u256 }
|
// { let d }
|
||||||
// }
|
// }
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionHoister
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionHoister
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// function g()
|
// function g()
|
||||||
// { let c:u256 }
|
// { let c }
|
||||||
// function f()
|
// function f()
|
||||||
// {
|
// {
|
||||||
// let b:u256
|
// let b
|
||||||
// let d:u256
|
// let d
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
function f() {}
|
function f() {}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: functionHoister
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: functionHoister
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// function f()
|
// function f()
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
||||||
|
@ -8,18 +8,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: mainFunction
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: mainFunction
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function main()
|
// function main()
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
||||||
// function f() -> x:bool
|
// function f() -> x:bool
|
||||||
// {
|
// {
|
||||||
// let b:u256 := 4:u256
|
// let b := 4
|
||||||
// { }
|
// { }
|
||||||
// for { } f() { }
|
// for { } f() { }
|
||||||
// { }
|
// { }
|
||||||
|
@ -6,18 +6,18 @@
|
|||||||
let e:u256
|
let e:u256
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: mainFunction
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: mainFunction
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function main()
|
// function main()
|
||||||
// {
|
// {
|
||||||
// let a:u256
|
// let a
|
||||||
// let c:u256
|
// let c
|
||||||
// let e:u256
|
// let e
|
||||||
// }
|
// }
|
||||||
// function f()
|
// function f()
|
||||||
// { let b:u256 }
|
// { let b }
|
||||||
// function g()
|
// function g()
|
||||||
// { let d:u256 }
|
// { let d }
|
||||||
// }
|
// }
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: mainFunction
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: mainFunction
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function main()
|
// function main()
|
||||||
// { let a:u256 }
|
// { let a }
|
||||||
// function f()
|
// function f()
|
||||||
// {
|
// {
|
||||||
// let b:u256
|
// let b
|
||||||
// function g()
|
// function g()
|
||||||
// { let c:u256 }
|
// { let c }
|
||||||
// let d:u256
|
// let d
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
function f() {}
|
function f() {}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// step: mainFunction
|
|
||||||
// dialect: yul
|
// dialect: yul
|
||||||
|
// step: mainFunction
|
||||||
// ----
|
// ----
|
||||||
// {
|
// {
|
||||||
// function main()
|
// function main()
|
||||||
// { let a:u256 }
|
// { let a }
|
||||||
// function f()
|
// function f()
|
||||||
// { }
|
// { }
|
||||||
// }
|
// }
|
Loading…
Reference in New Issue
Block a user