Issue |
123756
|
Summary |
[llvm-mca][FeatureReques] In timeline graph, note source of delay for each instruction
|
Labels |
new issue
|
Assignees |
|
Reporter |
ibogosavljevic
|
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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs