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

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

	Node0x7fffc6c42bf0 [shape=record,label="{entry:\l  br label %entry.split\l}"];
	Node0x7fffc6c42bf0 -> Node0x7fffc6c42f10;
	Node0x7fffc6c42f10 [shape=record,label="{entry.split:                                      \l  br label %for.cond1.preheader\l}"];
	Node0x7fffc6c42f10 -> Node0x7fffc6c4abb0;
	Node0x7fffc6c4abb0 [shape=record,label="{for.cond1.preheader:                              \l  %indvars.iv6 = phi i64 [ 0, %entry.split ], [ %indvars.iv.next7, %for.end ]\l  %0 = load %struct._IO_FILE*, %struct._IO_FILE** @stdout, align 8\l  br label %for.body3\l}"];
	Node0x7fffc6c4abb0 -> Node0x7fffc6c4ac10;
	Node0x7fffc6c4ac10 [shape=record,label="{for.body3:                                        \l  %indvars.iv = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next,\l... %for.inc ]\l  %1 = phi %struct._IO_FILE* [ %0, %for.cond1.preheader ], [ %5, %for.inc ]\l  %arrayidx5 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x\l... float]]* @C, i64 0, i64 %indvars.iv6, i64 %indvars.iv\l  %2 = load float, float* %arrayidx5, align 4\l  %conv = fpext float %2 to double\l  %call = tail call i32 (%struct._IO_FILE*, i8*, ...)\l... @fprintf(%struct._IO_FILE* %1, i8* getelementptr inbounds ([5 x i8], [5 x\l... i8]* @.str, i64 0, i64 0), double %conv) #2\l  %3 = trunc i64 %indvars.iv to i32\l  %rem = urem i32 %3, 80\l  %cmp6 = icmp eq i32 %rem, 79\l  br i1 %cmp6, label %if.then, label %for.inc\l}"];
	Node0x7fffc6c4ac10 -> Node0x7fffc6c4af80;
	Node0x7fffc6c4ac10 -> Node0x7fffc6c4afe0;
	Node0x7fffc6c4af80 [shape=record,label="{if.then:                                          \l  %4 = load %struct._IO_FILE*, %struct._IO_FILE** @stdout, align 8\l  %fputc3 = tail call i32 @fputc(i32 10, %struct._IO_FILE* %4)\l  br label %for.inc\l}"];
	Node0x7fffc6c4af80 -> Node0x7fffc6c4afe0;
	Node0x7fffc6c4afe0 [shape=record,label="{for.inc:                                          \l  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\l  %5 = load %struct._IO_FILE*, %struct._IO_FILE** @stdout, align 8\l  %exitcond = icmp ne i64 %indvars.iv.next, 1536\l  br i1 %exitcond, label %for.body3, label %for.end\l}"];
	Node0x7fffc6c4afe0 -> Node0x7fffc6c4ac10[constraint=false];
	Node0x7fffc6c4afe0 -> Node0x7fffc6c4b3b0;
	Node0x7fffc6c4b3b0 [shape=record,label="{for.end:                                          \l  %.lcssa = phi %struct._IO_FILE* [ %5, %for.inc ]\l  %fputc = tail call i32 @fputc(i32 10, %struct._IO_FILE* %.lcssa)\l  %indvars.iv.next7 = add nuw nsw i64 %indvars.iv6, 1\l  %exitcond8 = icmp ne i64 %indvars.iv.next7, 1536\l  br i1 %exitcond8, label %for.cond1.preheader, label %for.end12\l}"];
	Node0x7fffc6c4b3b0 -> Node0x7fffc6c4abb0[constraint=false];
	Node0x7fffc6c4b3b0 -> Node0x7fffc6c4b580;
	Node0x7fffc6c4b580 [shape=record,label="{for.end12:                                        \l  ret void\l}"];
	colorscheme = "paired12"
        subgraph cluster_0x7fffc6c32540 {
          label = "";
          style = solid;
          color = 1
          subgraph cluster_0x7fffc6c32dc0 {
            label = "Call instruction:   %call = tail call i32 (%struct._IO_FILE*, i8*, ...) @fprintf(%struct._IO_FILE* %1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), double %conv) #2";
            style = solid;
            color = 6
            subgraph cluster_0x7fffc6c32690 {
              label = "Call instruction:   %call = tail call i32 (%struct._IO_FILE*, i8*, ...) @fprintf(%struct._IO_FILE* %1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), double %conv) #2";
              style = solid;
              color = 5
              subgraph cluster_0x7fffc6c32f30 {
                label = "Region can not profitably be optimized!";
                style = solid;
                color = 7
                Node0x7fffc6c4ac10;
                Node0x7fffc6c4af80;
              }
              Node0x7fffc6c4afe0;
            }
            Node0x7fffc6c4abb0;
            Node0x7fffc6c4b3b0;
          }
          Node0x7fffc6c42bf0;
          Node0x7fffc6c42f10;
          Node0x7fffc6c4b580;
        }
}