Странное расположение краев в Graphviz Dot

У меня есть модуль, который автоматически выводит (в формате точки) функции, написанные на каком-то ассемблере (IR моего компилятора). Узлы - это базовые блоки, напечатанные с использованием формы «записи». Проблема в том, что края идут странным путем, например:

digraph {
node [shape = record];
n0[label="{ entry |  store i, 0\nstore sum, 0\ngoto test | { target}}"];
n1[label="{ test |  t2 = load i\nif t4, body,   done | { true |  false}}"]
n2[label="{ body |  t5 = load sum\ngoto test | { target}}"];
n3[color=firebrick3, label="{ done |  t9 = load sum\nret t9}}"];
n0:target:s -> n1:name:n
n1:true:s -> n2:name:n
n1:false:s -> n3:name:n
n2:target:s -> n1:name:n
}

И изображение:

Что я могу сделать, чтобы край от «целевого» до «тестового» располагался слева?

5
задан TylerH 22 August 2019 в 19:43
поделиться