llvm/llvm-project
Vedi su GitHub[llvm-mca][FeatureRequest] In timeline graph, note source of delay for each instruction
Open
#123.756 aperta il 21 gen 2025
enhancementgood first issuetools:llvm-mca
Metriche repository
- Star
- (26.378 star)
- Metriche merge PR
- (Merge medio 1g 2h) (1000 PR mergiate in 30 g)
Descrizione
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.