<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123756>123756</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm-mca][FeatureReques] In timeline graph, note source of delay for each instruction
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ibogosavljevic
</td>
</tr>
</table>
<pre>
Currently, the timeline graph looks like this:
```
Timeline view:
012345
Index 0123456789
[0,0] DeeER. . . vmulps %xmm0, %xmm1, %xmm2
[0,1] D==eeeER . . vhaddps %xmm2, %xmm2, %xmm3
[0,2] .D====eeeER . vhaddps %xmm3, %xmm3, %xmm4
[1,0] .DeeE-----R . vmulps %xmm0, %xmm1, %xmm2
[1,1] . D=eeeE---R . vhaddps %xmm2, %xmm2, %xmm3
[1,2] . D====eeeER . vhaddps %xmm3, %xmm3, %xmm4
[2,0] . DeeE-----R . vmulps %xmm0, %xmm1, %xmm2
[2,1] . D====eeeER . vhaddps %xmm2, %xmm2, %xmm3
[2,2] . D======eeeER vhaddps %xmm3, %xmm3, %xmm4
```
The value `=` means an instruction is dispatched but it cannot execute. There are two reasons why an instruction cannot execute:
* It is waiting for data from some previous instruction (dependency)
* It is waiting for available HW resource (resource pressure)
Instead of using `=` for both reasons, consider using one character (e.g. `=`) for dependency stall, and another character (e.g. `_`) for resource pressure stall.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUlU9vqzgQwD-NuYyKwEACBw5ps9H2-vSkPa4mMAS_Z-ys_5Dm269MSELarrRBVjtJZn72b8AYrRUHRVSz4pUV2wi967WpxV4ftMVR_qJRNNFet-f6zRtDyskz42_gegInBpJCERwMHnuQWv-2IMVvAtcLy7INS6axSuaRbH5eS0ZBp0sGfHMlKc_ygiWbd9XSx_xxtS6rmVi8Joy_JazYTulboj9-xCG6_RkHL48WABgvPoYhpM9heg_5nZXeWCwLgwJyyeuxbQPwWrmA3MLszuOBF8-wB-S3vGwJuYX5hZcuXeMg-xKumfWMabo0jeG6qhn2rGd69bzTvsg-68ofXC-39mr77H3lX20_r-9ZZf6oDI_QJfr_Sy-2R9ghPcGI0hOEr7ItWyUwECoLqEAo64xvnNAKhIVW2CO6pqcW9t6BcNCgUtoBfVDjHcXwsydDgIbAnTQYQquVhVN__kx7LJz3Lt_AuwsTnVA4oQ7QaQMtOoTO6AGsHgiOhkahvX2gMV62dCTVkmrOjFf_CcMRhcS9JPjzLzBktTcNhfJbfDRkrTc0U8IrwTrCFnQH3gbOvU-BuNeuv4qGRjdaWdGSmZO1Imh6NNg4MmEiig_xHcF4dZG8rR6sQykDCVULqLTryXyP-HsB-LL-CyeO2jprq6zCiOp0na3zdZJladTXRYsFdpiXVZavmirtuq4oV1mSZVRi1eaRqHnCiyTlaZpnZZHGHacyL9eUFGVTNUnK8oQGFDKWchxibQ6RsNZTnfJsXawiiXuSdnrPc67oBNOvjIfHOTJ1KHrZ-4NleSKFdfaOccLJ6YCYcoYGWbFlxeuO0HlDP-gfTzbsiXf16UgIXVPaEcy90B20JPE8dYiw6ZcPTeSNrHvnjtPJwXeM7w7C9X4fN3pgfBcmn_-9HI3-RY1jfDdJWMZ3s-VY838DAAD__2UT_Zs">