This was built to track decompiler and CFG progress.
function onCreated()
{
lit#5 = true;
temp.thingOne = lit#5;
lit#6 = true;
temp.thingTwo = lit#6;
lit#7 = false;
temp.thingThree = lit#7;
// RegionId(0)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.simpleAndTwo
// RegionId(1)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.simpleAndTwo
// idx=2: temp.thingOne
if (temp.thingOne)
{
}
temp.simpleAndTwo = phi<idx=0, regions=(RegionId(1), RegionId(0))>;
// RegionId(3)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.simpleAndThree
// idx=2: temp.thingOne
// RegionId(4)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingOne
// idx=2: temp.simpleAndThree
// idx=3: temp.thingOne
if (temp.thingOne)
{
// RegionId(4)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingOne
// idx=2: temp.simpleAndThree
// idx=3: temp.thingOne
// RegionId(5)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: temp.thingOne
// idx=2: temp.simpleAndThree
// idx=3: temp.thingOne
// idx=4: temp.thingTwo
if (temp.thingTwo)
{
}
}
phi<idx=1, regions=(RegionId(5), RegionId(4), RegionId(3))> = phi<idx=0, regions=(RegionId(5), RegionId(4), RegionId(3))>;
// RegionId(7)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.simpleOrTwo
// idx=2: phi<idx=2, regions=(RegionId(5), RegionId(4), RegionId(3))>
// idx=3: temp.thingOne
// idx=4: temp.thingTwo
// RegionId(8)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingTwo
// idx=2: temp.thingOne
// idx=3: phi<idx=2, regions=(RegionId(5), RegionId(4), RegionId(3))>
// idx=4: temp.simpleOrTwo
// idx=5: temp.thingOne
if (temp.thingOne)
{
}
phi<idx=1, regions=(RegionId(8), RegionId(7))> = phi<idx=0, regions=(RegionId(8), RegionId(7))>;
// RegionId(10)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.simpleOrThree
// idx=2: phi<idx=2, regions=(RegionId(8), RegionId(7))>
// idx=3: phi<idx=3, regions=(RegionId(8), RegionId(7))>
// idx=4: phi<idx=4, regions=(RegionId(8), RegionId(7))>
// idx=5: temp.thingOne
// RegionId(11)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingOne
// idx=2: phi<idx=4, regions=(RegionId(8), RegionId(7))>
// idx=3: phi<idx=3, regions=(RegionId(8), RegionId(7))>
// idx=4: phi<idx=2, regions=(RegionId(8), RegionId(7))>
// idx=5: temp.simpleOrThree
// idx=6: temp.thingOne
if (temp.thingOne)
{
// RegionId(11)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingOne
// idx=2: phi<idx=4, regions=(RegionId(8), RegionId(7))>
// idx=3: phi<idx=3, regions=(RegionId(8), RegionId(7))>
// idx=4: phi<idx=2, regions=(RegionId(8), RegionId(7))>
// idx=5: temp.simpleOrThree
// idx=6: temp.thingOne
// RegionId(12)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: temp.thingOne
// idx=2: temp.simpleOrThree
// idx=3: phi<idx=2, regions=(RegionId(8), RegionId(7))>
// idx=4: phi<idx=3, regions=(RegionId(8), RegionId(7))>
// idx=5: phi<idx=4, regions=(RegionId(8), RegionId(7))>
// idx=6: temp.thingOne
// idx=7: temp.thingTwo
if (temp.thingTwo)
{
}
}
phi<idx=1, regions=(RegionId(12), RegionId(11), RegionId(10))> = phi<idx=0, regions=(RegionId(12), RegionId(11), RegionId(10))>;
// RegionId(14)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.complex
// idx=2: phi<idx=2, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=3: phi<idx=3, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=4: phi<idx=4, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=5: phi<idx=5, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=6: temp.thingOne
// idx=7: temp.thingTwo
// RegionId(15)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingTwo
// idx=2: temp.thingOne
// idx=3: phi<idx=5, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=4: phi<idx=4, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=5: phi<idx=3, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=6: phi<idx=2, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=7: temp.complex
// idx=8: temp.thingOne
if (temp.thingOne)
{
}
// RegionId(16)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: phi<idx=7, regions=(RegionId(15), RegionId(14))>
// idx=2: phi<idx=6, regions=(RegionId(15), RegionId(14))>
// idx=3: phi<idx=5, regions=(RegionId(15), RegionId(14))>
// idx=4: phi<idx=4, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=5: phi<idx=3, regions=(RegionId(15), RegionId(14))>
// idx=6: phi<idx=2, regions=(RegionId(15), RegionId(14))>
// idx=7: phi<idx=1, regions=(RegionId(15), RegionId(14))>
// idx=8: phi<idx=0, regions=(RegionId(15), RegionId(14))>
// RegionId(17)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: phi<idx=0, regions=(RegionId(15), RegionId(14))>
// idx=2: phi<idx=1, regions=(RegionId(15), RegionId(14))>
// idx=3: phi<idx=2, regions=(RegionId(15), RegionId(14))>
// idx=4: phi<idx=3, regions=(RegionId(15), RegionId(14))>
// idx=5: phi<idx=4, regions=(RegionId(12), RegionId(11), RegionId(10))>
// idx=6: phi<idx=5, regions=(RegionId(15), RegionId(14))>
// idx=7: phi<idx=6, regions=(RegionId(15), RegionId(14))>
// idx=8: phi<idx=7, regions=(RegionId(15), RegionId(14))>
// idx=9: temp.thingOne
if (temp.thingOne)
{
}
phi<idx=1, regions=(RegionId(17), RegionId(16))> = phi<idx=0, regions=(RegionId(17), RegionId(16))>;
// RegionId(19)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.complexTwo
// idx=2: phi<idx=2, regions=(RegionId(17), RegionId(16))>
// idx=3: phi<idx=3, regions=(RegionId(17), RegionId(16))>
// idx=4: phi<idx=4, regions=(RegionId(17), RegionId(16))>
// idx=5: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=6: phi<idx=6, regions=(RegionId(17), RegionId(16))>
// idx=7: phi<idx=7, regions=(RegionId(17), RegionId(16))>
// idx=8: phi<idx=8, regions=(RegionId(17), RegionId(16))>
// idx=9: temp.thingOne
// RegionId(20)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingOne
// idx=2: phi<idx=8, regions=(RegionId(17), RegionId(16))>
// idx=3: phi<idx=7, regions=(RegionId(17), RegionId(16))>
// idx=4: phi<idx=6, regions=(RegionId(17), RegionId(16))>
// idx=5: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=6: phi<idx=4, regions=(RegionId(17), RegionId(16))>
// idx=7: phi<idx=3, regions=(RegionId(17), RegionId(16))>
// idx=8: phi<idx=2, regions=(RegionId(17), RegionId(16))>
// idx=9: temp.complexTwo
// idx=10: temp.thingOne
if (temp.thingOne)
{
}
// RegionId(21)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: phi<idx=9, regions=(RegionId(20), RegionId(19))>
// idx=2: phi<idx=8, regions=(RegionId(20), RegionId(19))>
// idx=3: phi<idx=7, regions=(RegionId(20), RegionId(19))>
// idx=4: phi<idx=6, regions=(RegionId(20), RegionId(19))>
// idx=5: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=6: phi<idx=4, regions=(RegionId(20), RegionId(19))>
// idx=7: phi<idx=3, regions=(RegionId(20), RegionId(19))>
// idx=8: phi<idx=2, regions=(RegionId(20), RegionId(19))>
// idx=9: phi<idx=1, regions=(RegionId(20), RegionId(19))>
// idx=10: phi<idx=0, regions=(RegionId(20), RegionId(19))>
// RegionId(22)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: phi<idx=0, regions=(RegionId(20), RegionId(19))>
// idx=2: phi<idx=1, regions=(RegionId(20), RegionId(19))>
// idx=3: phi<idx=2, regions=(RegionId(20), RegionId(19))>
// idx=4: phi<idx=3, regions=(RegionId(20), RegionId(19))>
// idx=5: phi<idx=4, regions=(RegionId(20), RegionId(19))>
// idx=6: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=7: phi<idx=6, regions=(RegionId(20), RegionId(19))>
// idx=8: phi<idx=7, regions=(RegionId(20), RegionId(19))>
// idx=9: phi<idx=8, regions=(RegionId(20), RegionId(19))>
// idx=10: phi<idx=9, regions=(RegionId(20), RegionId(19))>
// idx=11: temp.thingOne
if (temp.thingOne)
{
// RegionId(22)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: phi<idx=0, regions=(RegionId(20), RegionId(19))>
// idx=2: phi<idx=1, regions=(RegionId(20), RegionId(19))>
// idx=3: phi<idx=2, regions=(RegionId(20), RegionId(19))>
// idx=4: phi<idx=3, regions=(RegionId(20), RegionId(19))>
// idx=5: phi<idx=4, regions=(RegionId(20), RegionId(19))>
// idx=6: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=7: phi<idx=6, regions=(RegionId(20), RegionId(19))>
// idx=8: phi<idx=7, regions=(RegionId(20), RegionId(19))>
// idx=9: phi<idx=8, regions=(RegionId(20), RegionId(19))>
// idx=10: phi<idx=9, regions=(RegionId(20), RegionId(19))>
// idx=11: temp.thingOne
// RegionId(23)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.thingOne
// idx=2: phi<idx=9, regions=(RegionId(20), RegionId(19))>
// idx=3: phi<idx=8, regions=(RegionId(20), RegionId(19))>
// idx=4: phi<idx=7, regions=(RegionId(20), RegionId(19))>
// idx=5: phi<idx=6, regions=(RegionId(20), RegionId(19))>
// idx=6: phi<idx=5, regions=(RegionId(17), RegionId(16))>
// idx=7: phi<idx=4, regions=(RegionId(20), RegionId(19))>
// idx=8: phi<idx=3, regions=(RegionId(20), RegionId(19))>
// idx=9: phi<idx=2, regions=(RegionId(20), RegionId(19))>
// idx=10: phi<idx=1, regions=(RegionId(20), RegionId(19))>
// idx=11: phi<idx=0, regions=(RegionId(20), RegionId(19))>
// idx=12: temp.thingThree
if (temp.thingThree)
{
}
}
phi<idx=1, regions=(RegionId(23), RegionId(22), RegionId(21))> = phi<idx=0, regions=(RegionId(23), RegionId(22), RegionId(21))>;
// RegionId(25)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.complexThree
// idx=2: phi<idx=2, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=3: phi<idx=3, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=4: phi<idx=4, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=5: phi<idx=5, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=6: phi<idx=6, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=7: phi<idx=7, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=8: phi<idx=8, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=9: phi<idx=9, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=10: phi<idx=10, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=11: phi<idx=11, regions=(RegionId(23), RegionId(22))>
// idx=12: temp.thingThree
// RegionId(26)
// Unresolved nodes:
// idx=0: temp.thingTwo
// idx=1: temp.thingThree
// idx=2: phi<idx=11, regions=(RegionId(23), RegionId(22))>
// idx=3: phi<idx=10, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=4: phi<idx=9, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=5: phi<idx=8, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=6: phi<idx=7, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=7: phi<idx=6, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=8: phi<idx=5, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=9: phi<idx=4, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=10: phi<idx=3, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=11: phi<idx=2, regions=(RegionId(23), RegionId(22), RegionId(21))>
// idx=12: temp.complexThree
// idx=13: temp.thingOne
if (temp.thingOne)
{
}
// RegionId(27)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=2: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// RegionId(28)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// idx=2: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=14: temp.thingOne
if (temp.thingOne)
{
// RegionId(28)
// Unresolved nodes:
// idx=0: temp.thingThree
// idx=1: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// idx=2: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=14: temp.thingOne
// RegionId(29)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.thingOne
// idx=2: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=14: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// idx=15: temp.thingThree
if (temp.thingThree)
{
// RegionId(29)
// Unresolved nodes:
// idx=0: temp.thingOne
// idx=1: temp.thingOne
// idx=2: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=14: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// idx=15: temp.thingThree
// RegionId(30)
// Unresolved nodes:
// idx=0: fn_call
// idx=1: temp.thingThree
// idx=2: phi<idx=0, regions=(RegionId(26), RegionId(25))>
// idx=3: phi<idx=1, regions=(RegionId(26), RegionId(25))>
// idx=4: phi<idx=2, regions=(RegionId(26), RegionId(25))>
// idx=5: phi<idx=3, regions=(RegionId(26), RegionId(25))>
// idx=6: phi<idx=4, regions=(RegionId(26), RegionId(25))>
// idx=7: phi<idx=5, regions=(RegionId(26), RegionId(25))>
// idx=8: phi<idx=6, regions=(RegionId(26), RegionId(25))>
// idx=9: phi<idx=7, regions=(RegionId(26), RegionId(25))>
// idx=10: phi<idx=8, regions=(RegionId(26), RegionId(25))>
// idx=11: phi<idx=9, regions=(RegionId(26), RegionId(25))>
// idx=12: phi<idx=10, regions=(RegionId(26), RegionId(25))>
// idx=13: phi<idx=11, regions=(RegionId(26), RegionId(25))>
// idx=14: phi<idx=12, regions=(RegionId(26), RegionId(25))>
// idx=15: temp.thingOne
// idx=16: temp.thingOne
if (temp.thingOne)
{
lit#15 = false;
lit#16 = true;
fn_call#18 = returnAndShortCircuit#17(lit#16, lit#15);
}
}
}
phi<idx=1, regions=(RegionId(30), RegionId(29), RegionId(28), RegionId(27))> = phi<idx=0, regions=(RegionId(30), RegionId(29), RegionId(28), RegionId(27))>;
lit#19 = "simpleAndTwo: ";
fn_call#20 = echo#3(lit#19 @ temp.simpleAndTwo);
lit#21 = "simpleAndThree: ";
fn_call#22 = echo#3(lit#21 @ temp.simpleAndThree);
lit#23 = "simpleOrTwo: ";
fn_call#24 = echo#3(lit#23 @ temp.simpleOrTwo);
lit#25 = "simpleOrThree: ";
fn_call#26 = echo#3(lit#25 @ temp.simpleOrThree);
lit#27 = "complex: ";
fn_call#28 = echo#3(lit#27 @ temp.complex);
lit#29 = "complexTwo: ";
fn_call#30 = echo#3(lit#29 @ temp.complexTwo);
lit#31 = 0;
return lit#31;
}
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Step 1 of 65