12345678910111213141516171819202122232425262728293031323334353637 |
- digraph "CFG for 'd4d_init' function" {
- label="CFG for 'd4d_init' function";
- Node0x2204ed0 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#f7bca170",label="{%2:\l %3 = alloca i32, align 4\l %4 = alloca i8* (i32)*, align 8\l %5 = alloca void (i8*)*, align 8\l %6 = alloca %struct.splay_tree_s*, align 8\l %7 = alloca i64, align 8\l %8 = alloca %struct.splay_tree_node_s*, align 8\l store i8* (i32)* %0, i8* (i32)** %4, align 8\l store void (i8*)* %1, void (i8*)** %5, align 8\l %9 = load i8* (i32)*, i8* (i32)** %4, align 8\l %10 = icmp ne i8* (i32)* %9, null\l br i1 %10, label %12, label %11\l|{<s0>T|<s1>F}}"];
- Node0x2204ed0:s0 -> Node0x2204ff0;
- Node0x2204ed0:s1 -> Node0x2204fa0;
- Node0x2204fa0 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#dbdcde70",label="{%11:\l11: \l store i32 -1, i32* %3, align 4\l br label %49\l}"];
- Node0x2204fa0 -> Node0x2205360;
- Node0x2204ff0 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#efcebd70",label="{%12:\l12: \l %13 = load void (i8*)*, void (i8*)** %5, align 8\l %14 = icmp ne void (i8*)* %13, null\l br i1 %14, label %16, label %15\l|{<s0>T|<s1>F}}"];
- Node0x2204ff0:s0 -> Node0x2205090;
- Node0x2204ff0:s1 -> Node0x2205040;
- Node0x2205040 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#c5d6f270",label="{%15:\l15: \l store i32 -1, i32* %3, align 4\l br label %49\l}"];
- Node0x2205040 -> Node0x2205360;
- Node0x2205090 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#dedcdb70",label="{%16:\l16: \l %17 = load i8* (i32)*, i8* (i32)** %4, align 8\l %18 = call i8* %17(i32 16)\l %19 = bitcast i8* %18 to %struct.d4d__maing*\l store %struct.d4d__maing* %19, %struct.d4d__maing** @d4d__main, align 8\l %20 = load %struct.d4d__maing*, %struct.d4d__maing** @d4d__main, align 8\l %21 = icmp ne %struct.d4d__maing* %20, null\l br i1 %21, label %23, label %22\l|{<s0>T|<s1>F}}"];
- Node0x2205090:s0 -> Node0x2205130;
- Node0x2205090:s1 -> Node0x22050e0;
- Node0x22050e0 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#aec9fc70",label="{%22:\l22: \l store i32 -2, i32* %3, align 4\l br label %49\l}"];
- Node0x22050e0 -> Node0x2205360;
- Node0x2205130 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#c7d7f070",label="{%23:\l23: \l %24 = load %struct.d4d__maing*, %struct.d4d__maing** @d4d__main, align 8\l %25 = bitcast %struct.d4d__maing* %24 to i8*\l call void @d4d__memzero(i8* %25, i32 16)\l %26 = load i8* (i32)*, i8* (i32)** %4, align 8\l %27 = load %struct.d4d__maing*, %struct.d4d__maing** @d4d__main, align 8\l %28 = getelementptr inbounds %struct.d4d__maing, %struct.d4d__maing* %27,\l... i32 0, i32 0\l store i8* (i32)* %26, i8* (i32)** %28, align 8\l %29 = load void (i8*)*, void (i8*)** %5, align 8\l %30 = load %struct.d4d__maing*, %struct.d4d__maing** @d4d__main, align 8\l %31 = getelementptr inbounds %struct.d4d__maing, %struct.d4d__maing* %30,\l... i32 0, i32 1\l store void (i8*)* %29, void (i8*)** %31, align 8\l store %struct.splay_tree_s* null, %struct.splay_tree_s** %6, align 8\l store i64 0, i64* %7, align 8\l store %struct.splay_tree_node_s* null, %struct.splay_tree_node_s** %8, align\l... 8\l %32 = call %struct.splay_tree_s* @splay_tree_new(i32 (i64, i64)*\l... @splay_tree_compare_ints, void (i64)* null, void (i64)* null)\l store %struct.splay_tree_s* %32, %struct.splay_tree_s** %6, align 8\l store i64 0, i64* %7, align 8\l br label %33\l}"];
- Node0x2205130 -> Node0x2205180;
- Node0x2205180 [shape=record,color="#b70d28ff", style=filled, fillcolor="#b70d2870",label="{%33:\l33: \l %34 = load i64, i64* %7, align 8\l %35 = icmp ult i64 %34, 10\l br i1 %35, label %36, label %47\l|{<s0>T|<s1>F}}"];
- Node0x2205180:s0 -> Node0x22051d0;
- Node0x2205180:s1 -> Node0x2205310;
- Node0x22051d0 [shape=record,color="#b70d28ff", style=filled, fillcolor="#bb1b2c70",label="{%36:\l36: \l %37 = load %struct.splay_tree_s*, %struct.splay_tree_s** %6, align 8\l %38 = load i64, i64* %7, align 8\l %39 = call %struct.splay_tree_node_s*\l... @d4dag___splay_tree_insert(%struct.splay_tree_s* %37, i64 %38, i64 0)\l store %struct.splay_tree_node_s* %39, %struct.splay_tree_node_s** %8, align 8\l %40 = load %struct.splay_tree_node_s*, %struct.splay_tree_node_s** %8, align\l... 8\l %41 = icmp ne %struct.splay_tree_node_s* %40, null\l br i1 %41, label %43, label %42\l|{<s0>T|<s1>F}}"];
- Node0x22051d0:s0 -> Node0x2205270;
- Node0x22051d0:s1 -> Node0x2205220;
- Node0x2205220 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#e97a5f70",label="{%42:\l42: \l br label %43\l}"];
- Node0x2205220 -> Node0x2205270;
- Node0x2205270 [shape=record,color="#b70d28ff", style=filled, fillcolor="#bb1b2c70",label="{%43:\l43: \l br label %44\l}"];
- Node0x2205270 -> Node0x22052c0;
- Node0x22052c0 [shape=record,color="#b70d28ff", style=filled, fillcolor="#bb1b2c70",label="{%44:\l44: \l %45 = load i64, i64* %7, align 8\l %46 = add i64 %45, 1\l store i64 %46, i64* %7, align 8\l br label %33\l}"];
- Node0x22052c0 -> Node0x2205180;
- Node0x2205310 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#c7d7f070",label="{%47:\l47: \l %48 = load %struct.splay_tree_s*, %struct.splay_tree_s** %6, align 8\l call void @d4dag___splay_tree_delete(%struct.splay_tree_s* %48)\l store i32 0, i32* %3, align 4\l br label %49\l}"];
- Node0x2205310 -> Node0x2205360;
- Node0x2205360 [shape=record,color="#3d50c3ff", style=filled, fillcolor="#f7bca170",label="{%49:\l49: \l %50 = load i32, i32* %3, align 4\l ret i32 %50\l}"];
- }
|