graph: { title: "ir graph of OO_PROGRAM_EXAMPLE_main" display_edge_labels: no layoutalgorithm: mindepth manhattan_edges: yes port_sharing: no orientation: bottom_to_top classname 1: "intrablock Data" classname 2: "Block" classname 3: "Entity type" classname 4: "Entity owner" classname 5: "Method Param" classname 6: "Method Res" classname 7: "Super" classname 8: "Union" classname 9: "Points-to" classname 10: "Array Element Type" classname 11: "Overwrites" classname 12: "Member" classname 13: "Control Flow" classname 14: "intrablock Memory" classname 15: "Dominators" classname 16: "interblock Data" classname 17: "interblock Memory" classname 18: "Exception Control Flow for Interval Analysis" classname 19: "Postdominators" infoname 1: "Attribute" infoname 2: "Verification errors" infoname 3: "Debug info" colorentry 100: 0 0 0 colorentry 101: 20 0 0 colorentry 102: 40 0 0 colorentry 103: 60 0 0 colorentry 104: 80 0 0 colorentry 105: 100 0 0 colorentry 106: 120 0 0 colorentry 107: 140 0 0 colorentry 108: 150 0 0 colorentry 109: 180 0 0 colorentry 110: 200 0 0 colorentry 111: 220 0 0 colorentry 112: 240 0 0 colorentry 113: 255 0 0 colorentry 113: 255 20 20 colorentry 114: 255 40 40 colorentry 115: 255 60 60 colorentry 116: 255 80 80 colorentry 117: 255 100 100 colorentry 118: 255 120 120 colorentry 119: 255 140 140 colorentry 120: 255 150 150 colorentry 121: 255 180 180 colorentry 122: 255 200 200 colorentry 123: 255 220 220 colorentry 124: 255 240 240 colorentry 125: 255 250 250 node: {title: "n30" label: "Block 30" info1: "Block 30 mode: BB visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: 0: Proj 34 Private Attributes: backedges: block visited: 0 Execution freqency statistics: " color:lightyellow} edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red} node: {title: "n31" label: "Start 31" info1: "Start 31 mode: T visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 0 pred nodes: -1: Block 30 Private Attributes: start of method of type OO_PROGRAM_EXAMPLE_main " color:blue} edge: { sourcename: "n31" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n34" label: "ProjX X_initial_exec 34" info1: "Proj 34 mode: X visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 30 0: Start 31 Private Attributes: proj nr: 0 " color:yellow} edge: {sourcename: "n34" targetname: "n31" label: "0" class:13 priority:60 color:red} edge: { sourcename: "n34" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n40" label: "Block 40" info1: "Block 40 mode: BB visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: 0: Proj 34 Private Attributes: backedges: block visited: 0 Execution freqency statistics: " color:lightyellow} edge: {sourcename: "n40" targetname: "n34" label: "0" class:13 priority:60 color:red} node: {title: "n42" label: "0x5Is 42" info1: "0x5 42 mode: Is visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 0 pred nodes: -1: Block 30 Private Attributes: Const of type type_unknown " color:yellow} edge: { sourcename: "n42" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n43" label: "SymC PRIMA size 43" info1: "SymC PRIMA size 43 mode: Iu visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 0 pred nodes: -1: Block 30 Private Attributes: kind: size type: class type PRIMA (15) type of value: type_unknown " } edge: { sourcename: "n43" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n37" label: "ProjM 1 37" info1: "Proj 37 mode: M visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 30 0: Start 31 Private Attributes: proj nr: 1 " color:yellow} edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue} edge: { sourcename: "n37" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n45" label: "Alloc 45" info1: "Alloc 45 mode: T visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 2 pred nodes: -1: Block 40 0: Proj 37 1: SymC PRIMA size 43 Private Attributes: pinned state: op_pin_state_pinned allocating entity of type: PRIMA allocating on: the heap " } edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue} edge: {sourcename: "n45" targetname: "n43" label: "1" class:16 priority:10} edge: { sourcename: "n45" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n48" label: "ProjP res 48" info1: "Proj 48 mode: P visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Alloc 45 Private Attributes: proj nr: 2 " color:yellow} edge: {sourcename: "n48" targetname: "n45" label: "0" class:1 priority:50} edge: { sourcename: "n48" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n41" label: "0x2Is 41" info1: "0x2 41 mode: Is visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 0 pred nodes: -1: Block 30 Private Attributes: Const of type type_unknown " color:yellow} edge: { sourcename: "n41" targetname: "n30" class:2 priority:50 linestyle:dotted} node: {title: "n47" label: "ProjM M 47" info1: "Proj 47 mode: M visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Alloc 45 Private Attributes: proj nr: 0 " color:yellow} edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue} edge: { sourcename: "n47" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n49" label: "Sel PRIMA_set_a 49" info1: "Sel 49 mode: P visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 2 pred nodes: -1: Block 40 0: Proj 47 1: Proj 48 Private Attributes: Selecting entity set_a (20) of type set_a with owner PRIMA. " } edge: {sourcename: "n49" targetname: "n47" label: "0" class:14 priority:50 color:blue} edge: {sourcename: "n49" targetname: "n48" label: "1" class:1 priority:50} edge: { sourcename: "n49" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n50" label: "Call 50" info1: "Call 50 mode: T visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 4 pred nodes: -1: Block 40 0: Proj 47 1: Sel 49 2: Proj 48 3: 0x2 41 Private Attributes: pinned state: op_pin_state_pinned calling method of type set_a param 0 type: class_prima_ptr param 1 type: int " } edge: {sourcename: "n50" targetname: "n47" label: "0" class:14 priority:50 color:blue} edge: {sourcename: "n50" targetname: "n49" label: "1" class:1 priority:50} edge: {sourcename: "n50" targetname: "n48" label: "2" class:1 priority:50} edge: {sourcename: "n50" targetname: "n41" label: "3" class:16 priority:10} edge: { sourcename: "n50" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n52" label: "ProjM M_regular 52" info1: "Proj 52 mode: M visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Call 50 Private Attributes: proj nr: 0 " color:yellow} edge: {sourcename: "n52" targetname: "n50" label: "0" class:17 priority:10 color:blue} edge: { sourcename: "n52" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n53" label: "Sel PRIMA_c 53" info1: "Sel 53 mode: P visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 2 pred nodes: -1: Block 40 0: Proj 52 1: Proj 48 Private Attributes: Selecting entity c (23) of type c with owner PRIMA. " } edge: {sourcename: "n53" targetname: "n52" label: "0" class:14 priority:50 color:blue} edge: {sourcename: "n53" targetname: "n48" label: "1" class:1 priority:50} edge: { sourcename: "n53" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n54" label: "Call 54" info1: "Call 54 mode: T visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 4 pred nodes: -1: Block 40 0: Proj 52 1: Sel 53 2: Proj 48 3: 0x5 42 Private Attributes: pinned state: op_pin_state_pinned calling method of type c param 0 type: class_prima_ptr param 1 type: int resul 0 type: int " } edge: {sourcename: "n54" targetname: "n52" label: "0" class:14 priority:50 color:blue} edge: {sourcename: "n54" targetname: "n53" label: "1" class:1 priority:50} edge: {sourcename: "n54" targetname: "n48" label: "2" class:1 priority:50} edge: {sourcename: "n54" targetname: "n42" label: "3" class:16 priority:10} edge: { sourcename: "n54" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n57" label: "ProjT T_result 57" info1: "Proj 57 mode: T visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Call 54 Private Attributes: proj nr: 2 " color:yellow} edge: {sourcename: "n57" targetname: "n54" label: "0" class:1 priority:50} edge: { sourcename: "n57" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n58" label: "ProjIs 0 58" info1: "Proj 58 mode: Is visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Proj 57 Private Attributes: proj nr: 0 " color:yellow} edge: {sourcename: "n58" targetname: "n57" label: "0" class:1 priority:50} edge: { sourcename: "n58" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n56" label: "ProjM M_regular 56" info1: "Proj 56 mode: M visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: -1: Block 40 0: Call 54 Private Attributes: proj nr: 0 " color:yellow} edge: {sourcename: "n56" targetname: "n54" label: "0" class:17 priority:10 color:blue} edge: { sourcename: "n56" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n59" label: "Return 59" info1: "Return 59 mode: X visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 2 pred nodes: -1: Block 40 0: Proj 56 1: Proj 58 Private Attributes: return in method of type OO_PROGRAM_EXAMPLE_main res 0 type: int " } edge: {sourcename: "n59" targetname: "n56" label: "0" class:14 priority:50 color:blue} edge: {sourcename: "n59" targetname: "n58" label: "1" class:1 priority:50} edge: { sourcename: "n59" targetname: "n40" class:2 priority:50 linestyle:dotted} node: {title: "n28" label: "Block 28" info1: "Block 28 mode: BB visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 1 pred nodes: 0: Return 59 Private Attributes: backedges: block visited: 0 Execution freqency statistics: " color:lightyellow} edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red} node: {title: "n109" label: "End 109" info1: "End 109 mode: X visited: 20 irg: OO_PROGRAM_EXAMPLE_main arity: 0 pred nodes: -1: Block 28 Private Attributes: " color:blue} edge: { sourcename: "n109" targetname: "n28" class:2 priority:50 linestyle:dotted} node: {title: "t21" label: "method c" info1: "method type c (21) variadicity: variadicity_non_variadic return types: 1 int parameter types: 2 class_prima_ptr int visibility: visibility_external_allocated, state: layout_fixed, size: 32 Bits, alignment: 32 Bits, mode: P, " } edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green} edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green} edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green} node: {title: "t16" label: "pointer class_prima_ptr" info1: "pointer type class_prima_ptr (16) points to PRIMA (15) visibility: visibility_external_allocated, state: layout_fixed, size: 32 Bits, alignment: 32 Bits, mode: P, " } edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green} node: {title: "t15" label: "class PRIMA" info1: "class type PRIMA (15) members: entity a (17) type: int (14) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_automatic visibility: visibility_local variability: variability_uninitialized volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: no yet set offset: -1 bits, -1 bytes entity set_a (20) type: set_a (18) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &set_a volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: PRIMA_set_a offset: -1 bits, -1 bytes irg = 73 entity c (23) type: c (21) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &c volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: PRIMA_c offset: -1 bits, -1 bytes irg = 96 supertypes: subtypes: peculiarity: peculiarity_existent visibility: visibility_external_allocated, state: layout_undefined, size: -1 Bits, alignment: 32 Bits, " color: green} edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue} edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue} edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue} node: {title: "e17" label: "ent a" color: yellow info1: "entity a (17) type: int (14) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_automatic visibility: visibility_local variability: variability_uninitialized volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: no yet set offset: -1 bits, -1 bytes " } edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red} node: {title: "t14" label: "primitive int" info1: "primitive type int (14) visibility: visibility_external_allocated, state: layout_fixed, size: 32 Bits, alignment: 32 Bits, mode: Is, " } node: {title: "e20" label: "ent PRIMA_set_a" color: yellow info1: "entity set_a (20) type: set_a (18) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &set_a volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: PRIMA_set_a offset: -1 bits, -1 bytes irg = 73 " } edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red} edge: { sourcename: "e20" targetname: "n19"label: "value 0"} node: {title: "n19" label: "SymC &set_a 19" info1: "SymC &set_a 19 mode: P visited: 3 arity: 0 pred nodes: -1: Block 3 Private Attributes: kind: addr_ent entity: entity PRIMA.set_a (20) type of value: type_unknown " } node: {title: "t18" label: "method set_a" info1: "method type set_a (18) variadicity: variadicity_non_variadic return types: 0 parameter types: 2 class_prima_ptr int visibility: visibility_external_allocated, state: layout_fixed, size: 32 Bits, alignment: 32 Bits, mode: P, " } edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green} edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green} node: {title: "e23" label: "ent PRIMA_c" color: yellow info1: "entity c (23) type: c (21) owner: PRIMA (15) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &c volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: PRIMA_c offset: -1 bits, -1 bytes irg = 96 " } edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red} edge: { sourcename: "e23" targetname: "n22"label: "value 0"} node: {title: "n22" label: "SymC &c 22" info1: "SymC &c 22 mode: P visited: 3 arity: 0 pred nodes: -1: Block 3 Private Attributes: kind: addr_ent entity: entity PRIMA.c (23) type of value: type_unknown " } node: {title: "e26" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow info1: "entity OO_PROGRAM_EXAMPLE_main (26) type: OO_PROGRAM_EXAMPLE_main (24) owner: GlobalType (0) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &OO_PROGRAM_EXAMPLE_main volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: no yet set offset: -1 bits, -1 bytes irg = 39 " } edge: { sourcename: "e26" targetname: "t24"class: 3 label: "type" color: red} edge: { sourcename: "e26" targetname: "n25"label: "value 0"} node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main 25" info1: "SymC &OO_PROGRAM_EXAMPLE_main 25 mode: P visited: 3 arity: 0 pred nodes: -1: Block 3 Private Attributes: kind: addr_ent entity: entity GlobalType.OO_PROGRAM_EXAMPLE_main (26) type of value: type_unknown " } node: {title: "t0" label: "class GlobalType" info1: "class type GlobalType (0) members: entity OO_PROGRAM_EXAMPLE_main (26) type: OO_PROGRAM_EXAMPLE_main (24) owner: GlobalType (0) Does not overwrite other entities. Is not overwritten by other entities. allocation: allocation_static visibility: visibility_local variability: variability_constant calling convention: cdecl atomic value: SymC &OO_PROGRAM_EXAMPLE_main volatility: volatility_non_volatile peculiarity: peculiarity_existent ld_name: no yet set offset: -1 bits, -1 bytes irg = 39 supertypes: subtypes: peculiarity: peculiarity_existent visibility: visibility_external_allocated, state: layout_undefined, size: -1 Bits, alignment: 32 Bits, " color: green} edge: { sourcename: "t0" targetname: "e26"class: 12 label: "member" color:blue} node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "method type OO_PROGRAM_EXAMPLE_main (24) variadicity: variadicity_non_variadic return types: 1 int parameter types: 0 visibility: visibility_external_allocated, state: layout_fixed, size: 32 Bits, alignment: 32 Bits, mode: P, " } edge: { sourcename: "t24" targetname: "t14"class: 6 label: "res 0" color: green} node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "class type OO_PROGRAM_EXAMPLE_mainframe_tp (27) members: supertypes: subtypes: peculiarity: peculiarity_existent visibility: visibility_external_allocated, state: layout_undefined, size: -1 Bits, alignment: 0 Bits, " color: green} edge: { sourcename: "n54" targetname: "t21"class:2 priority:2 linestyle:dotted} edge: { sourcename: "n45" targetname: "t15"class:2 priority:2 linestyle:dotted} edge: { sourcename: "n43" targetname: "t15"class:2 priority:2 linestyle:dotted} edge: { sourcename: "n53" targetname: "e23"class:2 priority:2 linestyle:dotted} edge: { sourcename: "n50" targetname: "t18"class:2 priority:2 linestyle:dotted} edge: { sourcename: "n49" targetname: "e20"class:2 priority:2 linestyle:dotted} }