mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Disambiguator tests.
This commit is contained in:
parent
4607118d2e
commit
6e32a1becb
@ -0,0 +1,28 @@
|
|||||||
|
// yul
|
||||||
|
{
|
||||||
|
{ let a:u256, b:u256 }
|
||||||
|
{
|
||||||
|
for { let a:u256 } a { a := a } {
|
||||||
|
let b:u256 := a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256, b:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// for {
|
||||||
|
// let a_1:u256
|
||||||
|
// }
|
||||||
|
// a_1
|
||||||
|
// {
|
||||||
|
// a_1 := a_1
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let b_1:u256 := a_1
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
@ -0,0 +1,22 @@
|
|||||||
|
// yul
|
||||||
|
{
|
||||||
|
{ let a:u256, b:u256, c:u256, d:u256, f:u256 }
|
||||||
|
{
|
||||||
|
function f(a:u256) -> c:u256, d:u256 {
|
||||||
|
let b:u256, c_1:u256 := f(a)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256, b:u256, c:u256, d:u256, f:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// function f_1(a_1:u256) -> c_1:u256, d_1:u256
|
||||||
|
// {
|
||||||
|
// let b_1:u256, c_1_1:u256 := f_1(a_1)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
@ -0,0 +1,22 @@
|
|||||||
|
// yul
|
||||||
|
{
|
||||||
|
{ let a:u256, b:u256, c:u256 }
|
||||||
|
{
|
||||||
|
let a:bool
|
||||||
|
if a { let b:bool := a }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256, b:u256, c:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let a_1:bool
|
||||||
|
// if a_1
|
||||||
|
// {
|
||||||
|
// let b_1:bool := a_1
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
5
test/libjulia/yulOptimizerTests/disambiguator/smoke.yul
Normal file
5
test/libjulia/yulOptimizerTests/disambiguator/smoke.yul
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ }
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// }
|
@ -0,0 +1,6 @@
|
|||||||
|
// yul
|
||||||
|
{ }
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// }
|
@ -0,0 +1,27 @@
|
|||||||
|
// yul
|
||||||
|
{
|
||||||
|
{ let a:u256, b:u256, c:u256 }
|
||||||
|
{
|
||||||
|
let a:u256
|
||||||
|
switch a
|
||||||
|
case 0:u256 { let b:u256 := a }
|
||||||
|
default { let c:u256 := a }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256, b:u256, c:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let a_1:u256
|
||||||
|
// switch a_1
|
||||||
|
// case 0:u256 {
|
||||||
|
// let b_1:u256 := a_1
|
||||||
|
// }
|
||||||
|
// default {
|
||||||
|
// let c_1:u256 := a_1
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
12
test/libjulia/yulOptimizerTests/disambiguator/variables.yul
Normal file
12
test/libjulia/yulOptimizerTests/disambiguator/variables.yul
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// yul
|
||||||
|
{ { let a:u256 } { let a:u256 } }
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let a_1:u256
|
||||||
|
// }
|
||||||
|
// }
|
@ -0,0 +1,13 @@
|
|||||||
|
// yul
|
||||||
|
{ { let a:u256 let a_1:u256 } { let a:u256 } }
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let a:u256
|
||||||
|
// let a_1:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let a_2:u256
|
||||||
|
// }
|
||||||
|
// }
|
@ -0,0 +1,24 @@
|
|||||||
|
// yul
|
||||||
|
{
|
||||||
|
{ let c:u256 let b:u256 }
|
||||||
|
function f(a:u256, c:u256) -> b:u256 { let x:u256 }
|
||||||
|
{
|
||||||
|
let a:u256 let x:u256
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// disambiguator
|
||||||
|
// {
|
||||||
|
// {
|
||||||
|
// let c:u256
|
||||||
|
// let b:u256
|
||||||
|
// }
|
||||||
|
// function f(a:u256, c_1:u256) -> b_1:u256
|
||||||
|
// {
|
||||||
|
// let x:u256
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// let a_1:u256
|
||||||
|
// let x_1:u256
|
||||||
|
// }
|
||||||
|
// }
|
Loading…
Reference in New Issue
Block a user