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

Reply via email to