This is an archive of the discontinued LLVM Phabricator instance.

[llvm-exegesis] Analysis: detect clustering inconsistencies.
ClosedPublic

Authored by courbet on May 16 2018, 7:44 AM.

Details

Summary

Warn on instructions that should have the same performance
characteristics according to the sched model but actually
differ in their benchmarks.

Next step: Make the display nicer to browse, I was thinking maybe html.

Diff Detail

Repository
rL LLVM

Event Timeline

courbet created this revision.May 16 2018, 7:44 AM

Sample output:

Sched Class MOVSX32rr16_MOVSX32rr8_MOVSX32rr8_NOREX_MOVSX64rr16_MOVSX64rr8_MOVZX32rr16_MOVZX32rr8_MOVZX32rr8_NOREX_MOVZX64rr16_MOVZX64rr8 contains instructions with distinct performance characteristics, falling into 2 clusters:
2,MOVSX32rr16,,1.01
3,MOVSX32rr8,,2.01
2,MOVSX32rr8_NOREX,,1.01
2,MOVSX64rr16,,1.01
2,MOVZX32rr16,,1.00
3,MOVZX32rr8,,2.01
3,MOVZX32rr8_NOREX,,2.01
2,MOVZX64rr16,,1.00

Sched Class ADC16ri_ADC16ri8_ADC32ri_ADC32ri8_ADC64ri32_ADC64ri8_ADC8ri_ADC8ri8_ADC16rr_ADC16rr_REV_ADC32rr_ADC32rr_REV_ADC64rr_ADC64rr_REV_ADC8rr_ADC8rr_REV_ADC16i16_ADC32i32_ADC64i32_ADC8i8_SBB16ri_SBB16ri8_SBB32ri_SBB32ri8_SBB64ri32_SBB64ri8_SBB8ri_SBB8ri8_SBB16rr_SBB16rr_REV_SBB32rr_SBB32rr_REV_SBB64rr_SBB64rr_REV_SBB8rr_SBB8rr_REV_SBB16i16_SBB32i32_SBB64i32_SBB8i8 contains instructions with distinct performance characteristics, falling into 2 clusters:
3,ADC8i8,,2.00
2,ADC8ri,,1.01
3,SBB8i8,,2.01
2,SBB8ri,,1.01

Sched Class EXTRACTPSrr_VEXTRACTPSrr contains instructions with distinct performance characteristics, falling into 2 clusters:
4,EXTRACTPSrr,,3.00
3,VEXTRACTPSrr,,2.01

Sched Class WriteVecExtract contains instructions with distinct performance characteristics, falling into 2 clusters:
9,VPEXTRBrr,,1.50
4,VPEXTRWrr,,3.01

Sched Class WriteCRC32 contains instructions with distinct performance characteristics, falling into 2 clusters:
4,CRC32r32r16,,3.01
4,CRC32r32r32,,3.00
11,CRC32r32r8,,4.01
4,CRC32r64r64,,3.01
4,CRC32r64r8,,3.00

Sched Class WritePMULLD contains instructions with distinct performance characteristics, falling into 2 clusters:
13,PMULLDrr,,10.01
14,VPMULLDrr,,11.01
gchatelet accepted this revision.May 17 2018, 2:54 AM
This revision is now accepted and ready to land.May 17 2018, 2:54 AM
This revision was automatically updated to reflect the committed changes.