llvm/polly/docs/experiments/matmul/scops.main.dot

digraph "Scop Graph for 'main' function" {
	label="Scop Graph for 'main' function";

	Node0x7fffc6c4cb90 [shape=record,label="{entry:\l  br label %entry.split\l}"];
	Node0x7fffc6c4cb90 -> Node0x7fffc6c47b10;
	Node0x7fffc6c47b10 [shape=record,label="{entry.split:                                      \l  tail call void @init_array()\l  br label %for.cond1.preheader\l}"];
	Node0x7fffc6c47b10 -> Node0x7fffc6c456e0;
	Node0x7fffc6c456e0 [shape=record,label="{for.cond1.preheader:                              \l  %indvars.iv7 = phi i64 [ 0, %entry.split ], [ %indvars.iv.next8, %for.inc28 ]\l  br label %for.body3\l}"];
	Node0x7fffc6c456e0 -> Node0x7fffc6c3f080;
	Node0x7fffc6c3f080 [shape=record,label="{for.body3:                                        \l  %indvars.iv4 = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next5,\l... %for.inc25 ]\l  %arrayidx5 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x\l... float]]* @C, i64 0, i64 %indvars.iv7, i64 %indvars.iv4\l  store float 0.000000e+00, float* %arrayidx5, align 4\l  br label %for.body8\l}"];
	Node0x7fffc6c3f080 -> Node0x7fffc6c3f220;
	Node0x7fffc6c3f220 [shape=record,label="{for.body8:                                        \l  %indvars.iv = phi i64 [ 0, %for.body3 ], [ %indvars.iv.next, %for.body8 ]\l  %0 = load float, float* %arrayidx5, align 4\l  %arrayidx16 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @A, i64 0, i64 %indvars.iv7, i64 %indvars.iv\l  %1 = load float, float* %arrayidx16, align 4\l  %arrayidx20 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @B, i64 0, i64 %indvars.iv, i64 %indvars.iv4\l  %2 = load float, float* %arrayidx20, align 4\l  %mul = fmul float %1, %2\l  %add = fadd float %0, %mul\l  store float %add, float* %arrayidx5, align 4\l  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\l  %exitcond = icmp ne i64 %indvars.iv.next, 1536\l  br i1 %exitcond, label %for.body8, label %for.inc25\l}"];
	Node0x7fffc6c3f220 -> Node0x7fffc6c3f220[constraint=false];
	Node0x7fffc6c3f220 -> Node0x7fffc6c40480;
	Node0x7fffc6c40480 [shape=record,label="{for.inc25:                                        \l  %indvars.iv.next5 = add nuw nsw i64 %indvars.iv4, 1\l  %exitcond6 = icmp ne i64 %indvars.iv.next5, 1536\l  br i1 %exitcond6, label %for.body3, label %for.inc28\l}"];
	Node0x7fffc6c40480 -> Node0x7fffc6c3f080[constraint=false];
	Node0x7fffc6c40480 -> Node0x7fffc6c404e0;
	Node0x7fffc6c404e0 [shape=record,label="{for.inc28:                                        \l  %indvars.iv.next8 = add nuw nsw i64 %indvars.iv7, 1\l  %exitcond9 = icmp ne i64 %indvars.iv.next8, 1536\l  br i1 %exitcond9, label %for.cond1.preheader, label %for.end30\l}"];
	Node0x7fffc6c404e0 -> Node0x7fffc6c456e0[constraint=false];
	Node0x7fffc6c404e0 -> Node0x7fffc6c40540;
	Node0x7fffc6c40540 [shape=record,label="{for.end30:                                        \l  ret i32 0\l}"];
	colorscheme = "paired12"
        subgraph cluster_0x7fffc6c32540 {
          label = "";
          style = solid;
          color = 1
          subgraph cluster_0x7fffc6c32f30 {
            label = "";
            style = filled;
            color = 3            subgraph cluster_0x7fffc6c32690 {
              label = "";
              style = solid;
              color = 5
              subgraph cluster_0x7fffc6c32dc0 {
                label = "";
                style = solid;
                color = 7
                Node0x7fffc6c3f220;
              }
              Node0x7fffc6c3f080;
              Node0x7fffc6c40480;
            }
            Node0x7fffc6c456e0;
            Node0x7fffc6c404e0;
          }
          Node0x7fffc6c4cb90;
          Node0x7fffc6c47b10;
          Node0x7fffc6c40540;
        }
}