245 lines · plain
1REQUIRES: x86_64-linux2 3To update the inputs used below run Inputs/update_memprof_inputs.sh /path/to/updated/clang4RUN: llvm-profdata show --memory %p/Inputs/basic-histogram.memprofraw --profiled-binary %p/Inputs/basic-histogram.memprofexe -o - | FileCheck %s5 6We expect 5 MIBs, each with different AccessHistogramValues.7 8CHECK: MemprofProfile:9CHECK-NEXT: Summary:10CHECK-NEXT: Version: 511CHECK-NEXT: NumSegments: {{[0-9]+}}12CHECK-NEXT: NumMibInfo: 513CHECK-NEXT: NumAllocFunctions: 314CHECK-NEXT: NumStackOffsets: 515CHECK-NEXT: Segments:16CHECK-NEXT: -17CHECK-NEXT: BuildId: {{[[:xdigit:]]+}}18CHECK-NEXT: Start: 0x{{[[:xdigit:]]+}}19CHECK-NEXT: End: 0x{{[[:xdigit:]]+}}20CHECK-NEXT: Offset: 0x{{[[:xdigit:]]+}}21CHECK-NEXT: -22 23CHECK: Records:24CHECK-NEXT: -25CHECK-NEXT: FunctionGUID: {{[0-9]+}}26CHECK-NEXT: AllocSites:27CHECK-NEXT: -28CHECK-NEXT: Callstack:29CHECK-NEXT: -30CHECK-NEXT: Function: {{[0-9]+}}31CHECK-NEXT: SymbolName: main32CHECK-NEXT: LineOffset: 233CHECK-NEXT: Column: 1034CHECK-NEXT: Inline: 035CHECK-NEXT: MemInfoBlock:36CHECK-NEXT: AllocCount: 137CHECK-NEXT: TotalAccessCount: 838CHECK-NEXT: MinAccessCount: 839CHECK-NEXT: MaxAccessCount: 840CHECK-NEXT: TotalSize: 6441CHECK-NEXT: MinSize: 6442CHECK-NEXT: MaxSize: 6443CHECK-NEXT: AllocTimestamp: {{[0-9]+}}44CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}45CHECK-NEXT: TotalLifetime: 046CHECK-NEXT: MinLifetime: 047CHECK-NEXT: MaxLifetime: 048CHECK-NEXT: AllocCpuId: {{[0-9]+}}49CHECK-NEXT: DeallocCpuId: {{[0-9]+}}50CHECK-NEXT: NumMigratedCpu: 051CHECK-NEXT: NumLifetimeOverlaps: 052CHECK-NEXT: NumSameAllocCpu: 053CHECK-NEXT: NumSameDeallocCpu: 054CHECK-NEXT: DataTypeId: {{[0-9]+}}55CHECK-NEXT: TotalAccessDensity: 1256CHECK-NEXT: MinAccessDensity: 1257CHECK-NEXT: MaxAccessDensity: 1258CHECK-NEXT: TotalLifetimeAccessDensity: 1200059CHECK-NEXT: MinLifetimeAccessDensity: 1200060CHECK-NEXT: MaxLifetimeAccessDensity: 1200061CHECK-NEXT: AccessHistogramSize: 862CHECK-NEXT: AccessHistogram: {{[0-9]+}}63CHECK-NEXT: AccessHistogramValues: 1 1 1 1 1 1 1 164CHECK-NEXT: -65CHECK-NEXT: Callstack:66CHECK-NEXT: -67CHECK-NEXT: Function: {{[0-9]+}}68CHECK-NEXT: SymbolName: main69CHECK-NEXT: LineOffset: 1470CHECK-NEXT: Column: 1071CHECK-NEXT: Inline: 072CHECK-NEXT: MemInfoBlock:73CHECK-NEXT: AllocCount: 174CHECK-NEXT: TotalAccessCount: 3675CHECK-NEXT: MinAccessCount: 3676CHECK-NEXT: MaxAccessCount: 3677CHECK-NEXT: TotalSize: 6478CHECK-NEXT: MinSize: 6479CHECK-NEXT: MaxSize: 6480CHECK-NEXT: AllocTimestamp: {{[0-9]+}}81CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}82CHECK-NEXT: TotalLifetime: 083CHECK-NEXT: MinLifetime: 084CHECK-NEXT: MaxLifetime: 085CHECK-NEXT: AllocCpuId: {{[0-9]+}}86CHECK-NEXT: DeallocCpuId: {{[0-9]+}}87CHECK-NEXT: NumMigratedCpu: 088CHECK-NEXT: NumLifetimeOverlaps: 089CHECK-NEXT: NumSameAllocCpu: 090CHECK-NEXT: NumSameDeallocCpu: 091CHECK-NEXT: DataTypeId: {{[0-9]+}}92CHECK-NEXT: TotalAccessDensity: 5693CHECK-NEXT: MinAccessDensity: 5694CHECK-NEXT: MaxAccessDensity: 5695CHECK-NEXT: TotalLifetimeAccessDensity: 5600096CHECK-NEXT: MinLifetimeAccessDensity: 5600097CHECK-NEXT: MaxLifetimeAccessDensity: 5600098CHECK-NEXT: AccessHistogramSize: 899CHECK-NEXT: AccessHistogram: {{[0-9]+}}100CHECK-NEXT: AccessHistogramValues: 8 7 6 5 4 3 2 1101CHECK-NEXT: -102CHECK-NEXT: Callstack:103CHECK-NEXT: -104CHECK-NEXT: Function: {{[0-9]+}}105CHECK-NEXT: SymbolName: main106CHECK-NEXT: LineOffset: 54107CHECK-NEXT: Column: 10108CHECK-NEXT: Inline: 0109CHECK-NEXT: MemInfoBlock:110CHECK-NEXT: AllocCount: 1111CHECK-NEXT: TotalAccessCount: 1112CHECK-NEXT: MinAccessCount: 1113CHECK-NEXT: MaxAccessCount: 1114CHECK-NEXT: TotalSize: 64115CHECK-NEXT: MinSize: 64116CHECK-NEXT: MaxSize: 64117CHECK-NEXT: AllocTimestamp: {{[0-9]+}}118CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}119CHECK-NEXT: TotalLifetime: 0120CHECK-NEXT: MinLifetime: 0121CHECK-NEXT: MaxLifetime: 0122CHECK-NEXT: AllocCpuId: {{[0-9]+}}123CHECK-NEXT: DeallocCpuId: {{[0-9]+}}124CHECK-NEXT: NumMigratedCpu: 0125CHECK-NEXT: NumLifetimeOverlaps: 0126CHECK-NEXT: NumSameAllocCpu: 0127CHECK-NEXT: NumSameDeallocCpu: 0128CHECK-NEXT: DataTypeId: {{[0-9]+}}129CHECK-NEXT: TotalAccessDensity: 1130CHECK-NEXT: MinAccessDensity: 1131CHECK-NEXT: MaxAccessDensity: 1132CHECK-NEXT: TotalLifetimeAccessDensity: 1000133CHECK-NEXT: MinLifetimeAccessDensity: 1000134CHECK-NEXT: MaxLifetimeAccessDensity: 1000135CHECK-NEXT: AccessHistogramSize: 8136CHECK-NEXT: AccessHistogram: {{[0-9]+}}137CHECK-NEXT: AccessHistogramValues: 1 0 0 0 0 0 0 0138CHECK-NEXT: CallSites:139CHECK-NEXT: -140CHECK-NEXT: -141CHECK-NEXT: Function: {{[0-9]+}}142CHECK-NEXT: SymbolName: main143CHECK-NEXT: LineOffset: 59144CHECK-NEXT: Column: 5145CHECK-NEXT: Inline: 0146CHECK-NEXT: -147CHECK-NEXT: -148CHECK-NEXT: Function: {{[0-9]+}}149CHECK-NEXT: SymbolName: main150CHECK-NEXT: LineOffset: 64151CHECK-NEXT: Column: 5152CHECK-NEXT: Inline: 0153CHECK-NEXT: -154CHECK-NEXT: FunctionGUID: {{[0-9]+}}155CHECK-NEXT: AllocSites:156CHECK-NEXT: -157CHECK-NEXT: Callstack:158CHECK-NEXT: -159CHECK-NEXT: Function: {{[0-9]+}}160CHECK-NEXT: SymbolName: _Z3foov161CHECK-NEXT: LineOffset: 2162CHECK-NEXT: Column: 10163CHECK-NEXT: Inline: 0164CHECK-NEXT: -165CHECK-NEXT: Function: {{[0-9]+}}166CHECK-NEXT: SymbolName: main167CHECK-NEXT: LineOffset: 59168CHECK-NEXT: Column: 5169CHECK-NEXT: Inline: 0170CHECK-NEXT: MemInfoBlock:171CHECK-NEXT: AllocCount: 21172CHECK-NEXT: TotalAccessCount: 168173CHECK-NEXT: MinAccessCount: 8174CHECK-NEXT: MaxAccessCount: 8175CHECK-NEXT: TotalSize: 1344176CHECK-NEXT: MinSize: 64177CHECK-NEXT: MaxSize: 64178CHECK-NEXT: AllocTimestamp: {{[0-9]+}}179CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}180CHECK-NEXT: TotalLifetime: 0181CHECK-NEXT: MinLifetime: 0182CHECK-NEXT: MaxLifetime: 0183CHECK-NEXT: AllocCpuId: {{[0-9]+}}184CHECK-NEXT: DeallocCpuId: {{[0-9]+}}185CHECK-NEXT: NumMigratedCpu: 0186CHECK-NEXT: NumLifetimeOverlaps: 0187CHECK-NEXT: NumSameAllocCpu: 20188CHECK-NEXT: NumSameDeallocCpu: 20189CHECK-NEXT: DataTypeId: {{[0-9]+}}190CHECK-NEXT: TotalAccessDensity: 252191CHECK-NEXT: MinAccessDensity: 12192CHECK-NEXT: MaxAccessDensity: 12193CHECK-NEXT: TotalLifetimeAccessDensity: 252000194CHECK-NEXT: MinLifetimeAccessDensity: 12000195CHECK-NEXT: MaxLifetimeAccessDensity: 12000196CHECK-NEXT: AccessHistogramSize: 8197CHECK-NEXT: AccessHistogram: {{[0-9]+}}198CHECK-NEXT: AccessHistogramValues: 21 21 21 21 21 21 21 21199CHECK-NEXT: -200CHECK-NEXT: FunctionGUID: {{[0-9]+}}201CHECK-NEXT: AllocSites:202CHECK-NEXT: -203CHECK-NEXT: Callstack:204CHECK-NEXT: -205CHECK-NEXT: Function: {{[0-9]+}}206CHECK-NEXT: SymbolName: _Z3barv207CHECK-NEXT: LineOffset: 2208CHECK-NEXT: Column: 10209CHECK-NEXT: Inline: 0210CHECK-NEXT: -211CHECK-NEXT: Function: {{[0-9]+}}212CHECK-NEXT: SymbolName: main213CHECK-NEXT: LineOffset: 64214CHECK-NEXT: Column: 5215CHECK-NEXT: Inline: 0216CHECK-NEXT: MemInfoBlock:217CHECK-NEXT: AllocCount: 21218CHECK-NEXT: TotalAccessCount: 756219CHECK-NEXT: MinAccessCount: 36220CHECK-NEXT: MaxAccessCount: 36221CHECK-NEXT: TotalSize: 1344222CHECK-NEXT: MinSize: 64223CHECK-NEXT: MaxSize: 64224CHECK-NEXT: AllocTimestamp: {{[0-9]+}}225CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}226CHECK-NEXT: TotalLifetime: 0227CHECK-NEXT: MinLifetime: 0228CHECK-NEXT: MaxLifetime: 0229CHECK-NEXT: AllocCpuId: {{[0-9]+}}230CHECK-NEXT: DeallocCpuId: {{[0-9]+}}231CHECK-NEXT: NumMigratedCpu: 0232CHECK-NEXT: NumLifetimeOverlaps: 0233CHECK-NEXT: NumSameAllocCpu: 20234CHECK-NEXT: NumSameDeallocCpu: 20235CHECK-NEXT: DataTypeId: {{[0-9]+}}236CHECK-NEXT: TotalAccessDensity: 1176237CHECK-NEXT: MinAccessDensity: 56238CHECK-NEXT: MaxAccessDensity: 56239CHECK-NEXT: TotalLifetimeAccessDensity: 1176000240CHECK-NEXT: MinLifetimeAccessDensity: 56000241CHECK-NEXT: MaxLifetimeAccessDensity: 56000242CHECK-NEXT: AccessHistogramSize: 8243CHECK-NEXT: AccessHistogram: {{[0-9]+}}244CHECK-NEXT: AccessHistogramValues: 168 147 126 105 84 63 42 21245