llvm-capstone/polly/www/experiments/matmul/scops.init_array.dot
Tobias Grosser 30a02088c0 Porting the example illustrating Polly from HTML to reStructuredText
http://polly.llvm.org/example_manual_matmul.html which illustrates individual
passes of Polly, has been ported to reStructuredText and necessary changes have
been made to the configuration files used by SPHINX to include the new source as
a part of the documentation.

Contributed-by: Singapuram Sanjay Srivallabh <singapuram.sanjay@gmail.com>

Differential Revision: https://reviews.llvm.org/D25163

llvm-svn: 294735
2017-02-10 11:46:57 +00:00

40 lines
2.9 KiB
Plaintext

digraph "Scop Graph for 'init_array' function" {
label="Scop Graph for 'init_array' function";
Node0x5b5b5a0 [shape=record,label="{entry:\l br label %entry.split\l}"];
Node0x5b5b5a0 -> Node0x5b5de30;
Node0x5b5de30 [shape=record,label="{entry.split: \l br label %for.cond1.preheader\l}"];
Node0x5b5de30 -> Node0x5b5de50;
Node0x5b5de50 [shape=record,label="{for.cond1.preheader: \l %indvars.iv5 = phi i64 [ 0, %entry.split ], [ %indvars.iv.next6, %for.inc17 ]\l br label %for.body3\l}"];
Node0x5b5de50 -> Node0x5b5b570;
Node0x5b5b570 [shape=record,label="{for.body3: \l %indvars.iv = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next,\l... %for.body3 ]\l %0 = mul nuw nsw i64 %indvars.iv, %indvars.iv5\l %1 = trunc i64 %0 to i32\l %rem = srem i32 %1, 1024\l %add = add nsw i32 %rem, 1\l %conv = sitofp i32 %add to double\l %div = fmul double %conv, 5.000000e-01\l %conv4 = fptrunc double %div to float\l %arrayidx6 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x\l... float]]* @A, i64 0, i64 %indvars.iv5, i64 %indvars.iv\l store float %conv4, float* %arrayidx6, align 4\l %2 = mul nuw nsw i64 %indvars.iv, %indvars.iv5\l %3 = trunc i64 %2 to i32\l %rem8 = srem i32 %3, 1024\l %add9 = add nsw i32 %rem8, 1\l %conv10 = sitofp i32 %add9 to double\l %div11 = fmul double %conv10, 5.000000e-01\l %conv12 = fptrunc double %div11 to float\l %arrayidx16 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @B, i64 0, i64 %indvars.iv5, i64 %indvars.iv\l store float %conv12, float* %arrayidx16, 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.body3, label %for.inc17\l}"];
Node0x5b5b570 -> Node0x5b5b570[constraint=false];
Node0x5b5b570 -> Node0x5b5df30;
Node0x5b5df30 [shape=record,label="{for.inc17: \l %indvars.iv.next6 = add nuw nsw i64 %indvars.iv5, 1\l %exitcond7 = icmp ne i64 %indvars.iv.next6, 1536\l br i1 %exitcond7, label %for.cond1.preheader, label %for.end19\l}"];
Node0x5b5df30 -> Node0x5b5de50[constraint=false];
Node0x5b5df30 -> Node0x5b5df90;
Node0x5b5df90 [shape=record,label="{for.end19: \l ret void\l}"];
colorscheme = "paired12"
subgraph cluster_0x5b4bdd0 {
label = "";
style = solid;
color = 1
subgraph cluster_0x5b4bf50 {
label = "Region can not profitably be optimized!";
style = solid;
color = 6
subgraph cluster_0x5b4c0d0 {
label = "";
style = solid;
color = 5
Node0x5b5b570;
}
Node0x5b5de50;
Node0x5b5df30;
}
Node0x5b5b5a0;
Node0x5b5de30;
Node0x5b5df90;
}
}