This was built to track decompiler and CFG progress.
function onCreated()
{
<temp.thingOne>#8 = true;
<temp.thingTwo>#9 = true;
<temp.thingThree>#10 = false;
// 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>#7)
{
}
<temp.simpleAndTwo>#13 = 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>#7)
{
// 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>#4)
{
}
}
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>#7)
{
}
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>#7)
{
// 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>#4)
{
}
}
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>#7)
{
}
// 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(15), RegionId(14))>
// 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(15), RegionId(14))>
// 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>#7)
{
}
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>#7)
{
}
// 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(20), RegionId(19))>
// 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(20), RegionId(19))>
// 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>#7)
{
// 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(20), RegionId(19))>
// 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(20), RegionId(19))>
// 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>#2)
{
}
}
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>#7)
{
}
// 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>#7)
{
// 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>#2)
{
// 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>#7)
{
fn_call#32 = returnAndShortCircuit#31(true, false);
}
}
}
phi<idx=1, regions=(RegionId(30), RegionId(29), RegionId(28), RegionId(27))> = phi<idx=0, regions=(RegionId(30), RegionId(29), RegionId(28), RegionId(27))>;
fn_call#34 = echo#5("simpleAndTwo: " @ <temp.simpleAndTwo>#13);
fn_call#35 = echo#5("simpleAndThree: " @ <temp.simpleAndThree>#15);
fn_call#36 = echo#5("simpleOrTwo: " @ <temp.simpleOrTwo>#18);
fn_call#37 = echo#5("simpleOrThree: " @ <temp.simpleOrThree>#21);
fn_call#38 = echo#5("complex: " @ <temp.complex>#24);
fn_call#39 = echo#5("complexTwo: " @ <temp.complexTwo>#27);
return 0;
}
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