diff options
Diffstat (limited to 'test/analysis/depgraph.py')
| -rw-r--r-- | test/analysis/depgraph.py | 246 |
1 files changed, 123 insertions, 123 deletions
diff --git a/test/analysis/depgraph.py b/test/analysis/depgraph.py index 0b8d97b6..24095c7b 100644 --- a/test/analysis/depgraph.py +++ b/test/analysis/depgraph.py @@ -1,9 +1,9 @@ """Regression test module for DependencyGraph""" from miasm2.expression.expression import ExprId, ExprInt32, ExprAff, ExprCond, \ ExprInt -from miasm2.core.asmbloc import asm_label +from miasm2.core.asmblock import AsmLabel from miasm2.ir.analysis import ira -from miasm2.ir.ir import ir, irbloc, AssignBlock +from miasm2.ir.ir import IRBlock, AssignBlock from miasm2.core.graph import DiGraph from miasm2.analysis.depgraph import DependencyNode, DependencyGraph from itertools import count @@ -42,15 +42,15 @@ CST33 = ExprInt32(0x33) CST35 = ExprInt32(0x35) CST37 = ExprInt32(0x37) -LBL0 = asm_label("lbl0") -LBL1 = asm_label("lbl1") -LBL2 = asm_label("lbl2") -LBL3 = asm_label("lbl3") -LBL4 = asm_label("lbl4") -LBL5 = asm_label("lbl5") -LBL6 = asm_label("lbl6") +LBL0 = AsmLabel("lbl0") +LBL1 = AsmLabel("lbl1") +LBL2 = AsmLabel("lbl2") +LBL3 = AsmLabel("lbl3") +LBL4 = AsmLabel("lbl4") +LBL5 = AsmLabel("lbl5") +LBL6 = AsmLabel("lbl6") -def gen_irbloc(label, exprs_list): +def gen_irblock(label, exprs_list): """ Returns an IRBlock with empty lines. Used only for tests purpose """ @@ -62,7 +62,7 @@ def gen_irbloc(label, exprs_list): else: irs.append(AssignBlock(exprs)) - irbl = irbloc(label, irs, lines) + irbl = IRBlock(label, irs, lines) return irbl @@ -114,16 +114,16 @@ def bloc2graph(irgraph, label=False, lines=True): # Generate basic blocks out_blocks = [] for label in irgraph.graph.nodes(): - if isinstance(label, asm_label): + if isinstance(label, AsmLabel): label_name = label.name else: label_name = str(label) - if hasattr(irgraph, 'blocs'): - irblock = irgraph.blocs[label] + if hasattr(irgraph, 'blocks'): + irblock = irgraph.blocks[label] else: irblock = None - if isinstance(label, asm_label): + if isinstance(label, AsmLabel): out_block = '%s [\n' % label.name else: out_block = '%s [\n' % label @@ -154,11 +154,11 @@ def bloc2graph(irgraph, label=False, lines=True): out += out_blocks # Generate links for src, dst in irgraph.graph.edges(): - if isinstance(src, asm_label): + if isinstance(src, AsmLabel): src_name = src.name else: src_name = str(src) - if isinstance(dst, asm_label): + if isinstance(dst, AsmLabel): dst_name = dst.name else: dst_name = str(dst) @@ -232,122 +232,122 @@ DNC3 = DependencyNode(LBL1, C, 0) G1_IRA = IRATest() -G1_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G1_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, C)]]) -G1_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B)]]) +G1_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G1_IRB1 = gen_irblock(LBL1, [[ExprAff(B, C)]]) +G1_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B)]]) G1_IRA.graph.add_uniq_edge(G1_IRB0.label, G1_IRB1.label) G1_IRA.graph.add_uniq_edge(G1_IRB1.label, G1_IRB2.label) -G1_IRA.blocs = dict([(irb.label, irb) for irb in [G1_IRB0, G1_IRB1, G1_IRB2]]) +G1_IRA.blocks = dict([(irb.label, irb) for irb in [G1_IRB0, G1_IRB1, G1_IRB2]]) # graph 2 G2_IRA = IRATest() -G2_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G2_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, CST2)]]) -G2_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B + C)]]) +G2_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G2_IRB1 = gen_irblock(LBL1, [[ExprAff(B, CST2)]]) +G2_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B + C)]]) G2_IRA.graph.add_uniq_edge(G2_IRB0.label, G2_IRB1.label) G2_IRA.graph.add_uniq_edge(G2_IRB1.label, G2_IRB2.label) -G2_IRA.blocs = dict([(irb.label, irb) for irb in [G2_IRB0, G2_IRB1, G2_IRB2]]) +G2_IRA.blocks = dict([(irb.label, irb) for irb in [G2_IRB0, G2_IRB1, G2_IRB2]]) # graph 3 G3_IRA = IRATest() -G3_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G3_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, CST2)]]) -G3_IRB2 = gen_irbloc(LBL2, [[ExprAff(B, CST3)]]) -G3_IRB3 = gen_irbloc(LBL3, [[ExprAff(A, B + C)]]) +G3_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G3_IRB1 = gen_irblock(LBL1, [[ExprAff(B, CST2)]]) +G3_IRB2 = gen_irblock(LBL2, [[ExprAff(B, CST3)]]) +G3_IRB3 = gen_irblock(LBL3, [[ExprAff(A, B + C)]]) G3_IRA.graph.add_uniq_edge(G3_IRB0.label, G3_IRB1.label) G3_IRA.graph.add_uniq_edge(G3_IRB0.label, G3_IRB2.label) G3_IRA.graph.add_uniq_edge(G3_IRB1.label, G3_IRB3.label) G3_IRA.graph.add_uniq_edge(G3_IRB2.label, G3_IRB3.label) -G3_IRA.blocs = dict([(irb.label, irb) for irb in [G3_IRB0, G3_IRB1, - G3_IRB2, G3_IRB3]]) +G3_IRA.blocks = dict([(irb.label, irb) for irb in [G3_IRB0, G3_IRB1, + G3_IRB2, G3_IRB3]]) # graph 4 G4_IRA = IRATest() -G4_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G4_IRB1 = gen_irbloc(LBL1, [[ExprAff(C, C + CST2)], - [ExprAff(G4_IRA.IRDst, - ExprCond(C, ExprId(LBL2), - ExprId(LBL1)))]]) +G4_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G4_IRB1 = gen_irblock(LBL1, [[ExprAff(C, C + CST2)], + [ExprAff(G4_IRA.IRDst, + ExprCond(C, ExprId(LBL2), + ExprId(LBL1)))]]) -G4_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B)]]) +G4_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B)]]) G4_IRA.graph.add_uniq_edge(G4_IRB0.label, G4_IRB1.label) G4_IRA.graph.add_uniq_edge(G4_IRB1.label, G4_IRB2.label) G4_IRA.graph.add_uniq_edge(G4_IRB1.label, G4_IRB1.label) -G4_IRA.blocs = dict([(irb.label, irb) for irb in [G4_IRB0, G4_IRB1, G4_IRB2]]) +G4_IRA.blocks = dict([(irb.label, irb) for irb in [G4_IRB0, G4_IRB1, G4_IRB2]]) # graph 5 G5_IRA = IRATest() -G5_IRB0 = gen_irbloc(LBL0, [[ExprAff(B, CST1)]]) -G5_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, B + CST2)], - [ExprAff(G5_IRA.IRDst, - ExprCond(B, ExprId(LBL2), - ExprId(LBL1)))]]) +G5_IRB0 = gen_irblock(LBL0, [[ExprAff(B, CST1)]]) +G5_IRB1 = gen_irblock(LBL1, [[ExprAff(B, B + CST2)], + [ExprAff(G5_IRA.IRDst, + ExprCond(B, ExprId(LBL2), + ExprId(LBL1)))]]) -G5_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B)]]) +G5_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B)]]) G5_IRA.graph.add_uniq_edge(G5_IRB0.label, G5_IRB1.label) G5_IRA.graph.add_uniq_edge(G5_IRB1.label, G5_IRB2.label) G5_IRA.graph.add_uniq_edge(G5_IRB1.label, G5_IRB1.label) -G5_IRA.blocs = dict([(irb.label, irb) for irb in [G5_IRB0, G5_IRB1, G5_IRB2]]) +G5_IRA.blocks = dict([(irb.label, irb) for irb in [G5_IRB0, G5_IRB1, G5_IRB2]]) # graph 6 G6_IRA = IRATest() -G6_IRB0 = gen_irbloc(LBL0, [[ExprAff(B, CST1)]]) -G6_IRB1 = gen_irbloc(LBL1, [[ExprAff(A, B)]]) +G6_IRB0 = gen_irblock(LBL0, [[ExprAff(B, CST1)]]) +G6_IRB1 = gen_irblock(LBL1, [[ExprAff(A, B)]]) G6_IRA.graph.add_uniq_edge(G6_IRB0.label, G6_IRB1.label) G6_IRA.graph.add_uniq_edge(G6_IRB1.label, G6_IRB1.label) -G6_IRA.blocs = dict([(irb.label, irb) for irb in [G6_IRB0, G6_IRB1]]) +G6_IRA.blocks = dict([(irb.label, irb) for irb in [G6_IRB0, G6_IRB1]]) # graph 7 G7_IRA = IRATest() -G7_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G7_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, C)], [ExprAff(A, B)]]) -G7_IRB2 = gen_irbloc(LBL2, [[ExprAff(D, A)]]) +G7_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G7_IRB1 = gen_irblock(LBL1, [[ExprAff(B, C)], [ExprAff(A, B)]]) +G7_IRB2 = gen_irblock(LBL2, [[ExprAff(D, A)]]) G7_IRA.graph.add_uniq_edge(G7_IRB0.label, G7_IRB1.label) G7_IRA.graph.add_uniq_edge(G7_IRB1.label, G7_IRB1.label) G7_IRA.graph.add_uniq_edge(G7_IRB1.label, G7_IRB2.label) -G7_IRA.blocs = dict([(irb.label, irb) for irb in [G7_IRB0, G7_IRB1, G7_IRB2]]) +G7_IRA.blocks = dict([(irb.label, irb) for irb in [G7_IRB0, G7_IRB1, G7_IRB2]]) # graph 8 G8_IRA = IRATest() -G8_IRB0 = gen_irbloc(LBL0, [[ExprAff(C, CST1)]]) -G8_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, C)], [ExprAff(C, D)]]) -G8_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B)]]) +G8_IRB0 = gen_irblock(LBL0, [[ExprAff(C, CST1)]]) +G8_IRB1 = gen_irblock(LBL1, [[ExprAff(B, C)], [ExprAff(C, D)]]) +G8_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B)]]) G8_IRA.graph.add_uniq_edge(G8_IRB0.label, G8_IRB1.label) G8_IRA.graph.add_uniq_edge(G8_IRB1.label, G8_IRB1.label) G8_IRA.graph.add_uniq_edge(G8_IRB1.label, G8_IRB2.label) -G8_IRA.blocs = dict([(irb.label, irb) for irb in [G8_IRB0, G8_IRB1, G8_IRB2]]) +G8_IRA.blocks = dict([(irb.label, irb) for irb in [G8_IRB0, G8_IRB1, G8_IRB2]]) # graph 9 is graph 8 @@ -355,131 +355,131 @@ G8_IRA.blocs = dict([(irb.label, irb) for irb in [G8_IRB0, G8_IRB1, G8_IRB2]]) G10_IRA = IRATest() -G10_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, B + CST2)]]) -G10_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, B)]]) +G10_IRB1 = gen_irblock(LBL1, [[ExprAff(B, B + CST2)]]) +G10_IRB2 = gen_irblock(LBL2, [[ExprAff(A, B)]]) G10_IRA.graph.add_uniq_edge(G10_IRB1.label, G10_IRB2.label) G10_IRA.graph.add_uniq_edge(G10_IRB1.label, G10_IRB1.label) -G10_IRA.blocs = dict([(irb.label, irb) for irb in [G10_IRB1, G10_IRB2]]) +G10_IRA.blocks = dict([(irb.label, irb) for irb in [G10_IRB1, G10_IRB2]]) # graph 11 G11_IRA = IRATest() -G11_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1), - ExprAff(B, CST2)]]) -G11_IRB1 = gen_irbloc(LBL1, [[ExprAff(A, B), - ExprAff(B, A)]]) -G11_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, A - B)]]) +G11_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1), + ExprAff(B, CST2)]]) +G11_IRB1 = gen_irblock(LBL1, [[ExprAff(A, B), + ExprAff(B, A)]]) +G11_IRB2 = gen_irblock(LBL2, [[ExprAff(A, A - B)]]) G11_IRA.graph.add_uniq_edge(G11_IRB0.label, G11_IRB1.label) G11_IRA.graph.add_uniq_edge(G11_IRB1.label, G11_IRB2.label) -G11_IRA.blocs = dict([(irb.label, irb) - for irb in [G11_IRB0, G11_IRB1, G11_IRB2]]) +G11_IRA.blocks = dict([(irb.label, irb) + for irb in [G11_IRB0, G11_IRB1, G11_IRB2]]) # graph 12 G12_IRA = IRATest() -G12_IRB0 = gen_irbloc(LBL0, [[ExprAff(B, CST1)]]) -G12_IRB1 = gen_irbloc(LBL1, [[ExprAff(A, B)], [ExprAff(B, B + CST2)]]) -G12_IRB2 = gen_irbloc(LBL2, [[ExprAff(B, A)]]) +G12_IRB0 = gen_irblock(LBL0, [[ExprAff(B, CST1)]]) +G12_IRB1 = gen_irblock(LBL1, [[ExprAff(A, B)], [ExprAff(B, B + CST2)]]) +G12_IRB2 = gen_irblock(LBL2, [[ExprAff(B, A)]]) G12_IRA.graph.add_uniq_edge(G12_IRB0.label, G12_IRB1.label) G12_IRA.graph.add_uniq_edge(G12_IRB1.label, G12_IRB2.label) G12_IRA.graph.add_uniq_edge(G12_IRB1.label, G12_IRB1.label) -G12_IRA.blocs = dict([(irb.label, irb) for irb in [G12_IRB0, G12_IRB1, - G12_IRB2]]) +G12_IRA.blocks = dict([(irb.label, irb) for irb in [G12_IRB0, G12_IRB1, + G12_IRB2]]) # graph 13 G13_IRA = IRATest() -G13_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1)], - #[ExprAff(B, A)], - [ExprAff(G13_IRA.IRDst, - ExprId(LBL1))]]) -G13_IRB1 = gen_irbloc(LBL1, [[ExprAff(C, A)], - #[ExprAff(A, A + CST1)], - [ExprAff(G13_IRA.IRDst, - ExprCond(R, ExprId(LBL2), - ExprId(LBL1)))]]) +G13_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1)], + #[ExprAff(B, A)], + [ExprAff(G13_IRA.IRDst, + ExprId(LBL1))]]) +G13_IRB1 = gen_irblock(LBL1, [[ExprAff(C, A)], + #[ExprAff(A, A + CST1)], + [ExprAff(G13_IRA.IRDst, + ExprCond(R, ExprId(LBL2), + ExprId(LBL1)))]]) -G13_IRB2 = gen_irbloc(LBL2, [[ExprAff(B, A + CST3)], [ExprAff(A, B + CST3)], - [ExprAff(G13_IRA.IRDst, - ExprId(LBL1))]]) +G13_IRB2 = gen_irblock(LBL2, [[ExprAff(B, A + CST3)], [ExprAff(A, B + CST3)], + [ExprAff(G13_IRA.IRDst, + ExprId(LBL1))]]) -G13_IRB3 = gen_irbloc(LBL3, [[ExprAff(R, C)]]) +G13_IRB3 = gen_irblock(LBL3, [[ExprAff(R, C)]]) G13_IRA.graph.add_uniq_edge(G13_IRB0.label, G13_IRB1.label) G13_IRA.graph.add_uniq_edge(G13_IRB1.label, G13_IRB2.label) G13_IRA.graph.add_uniq_edge(G13_IRB2.label, G13_IRB1.label) G13_IRA.graph.add_uniq_edge(G13_IRB1.label, G13_IRB3.label) -G13_IRA.blocs = dict([(irb.label, irb) for irb in [G13_IRB0, G13_IRB1, - G13_IRB2, G13_IRB3]]) +G13_IRA.blocks = dict([(irb.label, irb) for irb in [G13_IRB0, G13_IRB1, + G13_IRB2, G13_IRB3]]) # graph 14 G14_IRA = IRATest() -G14_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1)], - [ExprAff(G14_IRA.IRDst, - ExprId(LBL1))] +G14_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1)], + [ExprAff(G14_IRA.IRDst, + ExprId(LBL1))] ]) -G14_IRB1 = gen_irbloc(LBL1, [[ExprAff(B, A)], - [ExprAff(G14_IRA.IRDst, - ExprCond(C, ExprId(LBL2), - ExprId(LBL3)))] +G14_IRB1 = gen_irblock(LBL1, [[ExprAff(B, A)], + [ExprAff(G14_IRA.IRDst, + ExprCond(C, ExprId(LBL2), + ExprId(LBL3)))] ]) -G14_IRB2 = gen_irbloc(LBL2, [[ExprAff(D, A)], - [ExprAff(A, D + CST1)], - [ExprAff(G14_IRA.IRDst, - ExprId(LBL1))] +G14_IRB2 = gen_irblock(LBL2, [[ExprAff(D, A)], + [ExprAff(A, D + CST1)], + [ExprAff(G14_IRA.IRDst, + ExprId(LBL1))] ]) -G14_IRB3 = gen_irbloc(LBL3, [[ExprAff(R, D + B)]]) +G14_IRB3 = gen_irblock(LBL3, [[ExprAff(R, D + B)]]) G14_IRA.graph.add_uniq_edge(G14_IRB0.label, G14_IRB1.label) G14_IRA.graph.add_uniq_edge(G14_IRB1.label, G14_IRB2.label) G14_IRA.graph.add_uniq_edge(G14_IRB2.label, G14_IRB1.label) G14_IRA.graph.add_uniq_edge(G14_IRB1.label, G14_IRB3.label) -G14_IRA.blocs = dict([(irb.label, irb) for irb in [G14_IRB0, G14_IRB1, - G14_IRB2, G14_IRB3]]) +G14_IRA.blocks = dict([(irb.label, irb) for irb in [G14_IRB0, G14_IRB1, + G14_IRB2, G14_IRB3]]) # graph 16 G15_IRA = IRATest() -G15_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1)]]) -G15_IRB1 = gen_irbloc(LBL1, [[ExprAff(D, A + B)], - [ExprAff(C, D)], - [ExprAff(B, C)]]) -G15_IRB2 = gen_irbloc(LBL2, [[ExprAff(R, B)]]) +G15_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1)]]) +G15_IRB1 = gen_irblock(LBL1, [[ExprAff(D, A + B)], + [ExprAff(C, D)], + [ExprAff(B, C)]]) +G15_IRB2 = gen_irblock(LBL2, [[ExprAff(R, B)]]) G15_IRA.graph.add_uniq_edge(G15_IRB0.label, G15_IRB1.label) G15_IRA.graph.add_uniq_edge(G15_IRB1.label, G15_IRB2.label) G15_IRA.graph.add_uniq_edge(G15_IRB1.label, G15_IRB1.label) -G15_IRA.blocs = dict([(irb.label, irb) for irb in [G15_IRB0, G15_IRB1, - G15_IRB2]]) +G15_IRA.blocks = dict([(irb.label, irb) for irb in [G15_IRB0, G15_IRB1, + G15_IRB2]]) # graph 16 G16_IRA = IRATest() -G16_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1)]]) -G16_IRB1 = gen_irbloc(LBL1, [[ExprAff(R, D)]]) -G16_IRB2 = gen_irbloc(LBL2, [[ExprAff(D, A)]]) -G16_IRB3 = gen_irbloc(LBL3, [[ExprAff(R, D)]]) -G16_IRB4 = gen_irbloc(LBL4, [[ExprAff(R, A)]]) -G16_IRB5 = gen_irbloc(LBL5, [[ExprAff(R, A)]]) +G16_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1)]]) +G16_IRB1 = gen_irblock(LBL1, [[ExprAff(R, D)]]) +G16_IRB2 = gen_irblock(LBL2, [[ExprAff(D, A)]]) +G16_IRB3 = gen_irblock(LBL3, [[ExprAff(R, D)]]) +G16_IRB4 = gen_irblock(LBL4, [[ExprAff(R, A)]]) +G16_IRB5 = gen_irblock(LBL5, [[ExprAff(R, A)]]) G16_IRA.graph.add_uniq_edge(G16_IRB0.label, G16_IRB1.label) G16_IRA.graph.add_uniq_edge(G16_IRB1.label, G16_IRB2.label) @@ -490,25 +490,25 @@ G16_IRA.graph.add_uniq_edge(G16_IRB1.label, G16_IRB4.label) G16_IRA.graph.add_uniq_edge(G16_IRB4.label, G16_IRB1.label) G16_IRA.graph.add_uniq_edge(G16_IRB1.label, G16_IRB5.label) -G16_IRA.blocs = dict([(irb.label, irb) for irb in [G16_IRB0, G16_IRB1, - G16_IRB2, G16_IRB3, - G16_IRB4, G16_IRB5]]) +G16_IRA.blocks = dict([(irb.label, irb) for irb in [G16_IRB0, G16_IRB1, + G16_IRB2, G16_IRB3, + G16_IRB4, G16_IRB5]]) # graph 17 G17_IRA = IRATest() -G17_IRB0 = gen_irbloc(LBL0, [[ExprAff(A, CST1), - ExprAff(D, CST2)]]) -G17_IRB1 = gen_irbloc(LBL1, [[ExprAff(A, D), - ExprAff(B, D)]]) -G17_IRB2 = gen_irbloc(LBL2, [[ExprAff(A, A - B)]]) +G17_IRB0 = gen_irblock(LBL0, [[ExprAff(A, CST1), + ExprAff(D, CST2)]]) +G17_IRB1 = gen_irblock(LBL1, [[ExprAff(A, D), + ExprAff(B, D)]]) +G17_IRB2 = gen_irblock(LBL2, [[ExprAff(A, A - B)]]) G17_IRA.graph.add_uniq_edge(G17_IRB0.label, G17_IRB1.label) G17_IRA.graph.add_uniq_edge(G17_IRB1.label, G17_IRB2.label) -G17_IRA.blocs = dict([(irb.label, irb) for irb in [G17_IRB0, G17_IRB1, - G17_IRB2]]) +G17_IRA.blocks = dict([(irb.label, irb) for irb in [G17_IRB0, G17_IRB1, + G17_IRB2]]) # Test graph 1 G1_TEST1_DN1 = DependencyNode( |