Files
clang-p2996/polly/www/experiments/matmul/scops.main.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

51 lines
3.8 KiB
Plaintext

digraph "Scop Graph for 'main' function" {
label="Scop Graph for 'main' function";
Node0x5b5c850 [shape=record,label="{entry:\l br label %entry.split\l}"];
Node0x5b5c850 -> Node0x5b5a440;
Node0x5b5a440 [shape=record,label="{entry.split: \l tail call void @init_array()\l br label %for.cond1.preheader\l}"];
Node0x5b5a440 -> Node0x5b38cd0;
Node0x5b38cd0 [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}"];
Node0x5b38cd0 -> Node0x5b4bd30;
Node0x5b4bd30 [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}"];
Node0x5b4bd30 -> Node0x5b38c50;
Node0x5b38c50 [shape=record,label="{for.body8: \l %indvars.iv = phi i64 [ 0, %for.body3 ], [ %indvars.iv.next, %for.body8 ]\l %arrayidx12 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @C, i64 0, i64 %indvars.iv7, i64 %indvars.iv4\l %0 = load float, float* %arrayidx12, 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 %arrayidx24 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536\l... x float]]* @C, i64 0, i64 %indvars.iv7, i64 %indvars.iv4\l store float %add, float* %arrayidx24, 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}"];
Node0x5b38c50 -> Node0x5b38c50[constraint=false];
Node0x5b38c50 -> Node0x5b5a290;
Node0x5b5a290 [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}"];
Node0x5b5a290 -> Node0x5b4bd30[constraint=false];
Node0x5b5a290 -> Node0x5b5a340;
Node0x5b5a340 [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}"];
Node0x5b5a340 -> Node0x5b38cd0[constraint=false];
Node0x5b5a340 -> Node0x5b5a3a0;
Node0x5b5a3a0 [shape=record,label="{for.end30: \l ret i32 0\l}"];
colorscheme = "paired12"
subgraph cluster_0x5b5c970 {
label = "";
style = solid;
color = 1
subgraph cluster_0x5b5c5a0 {
label = "";
style = filled;
color = 3 subgraph cluster_0x5b5c9f0 {
label = "";
style = solid;
color = 5
subgraph cluster_0x5b5c110 {
label = "";
style = solid;
color = 7
Node0x5b38c50;
}
Node0x5b4bd30;
Node0x5b5a290;
}
Node0x5b38cd0;
Node0x5b5a340;
}
Node0x5b5c850;
Node0x5b5a440;
Node0x5b5a3a0;
}
}