100 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.memprofraw --profiled-binary %p/Inputs/basic.memprofexe -o - | FileCheck %s5 6We expect 2 MIB entries, 1 each for the malloc calls in the program. Any7additional allocations which do not originate from the main binary are pruned.8 9CHECK: MemprofProfile:10CHECK-NEXT: Summary:11CHECK-NEXT: Version: 512CHECK-NEXT: NumSegments: {{[0-9]+}}13CHECK-NEXT: NumMibInfo: 214CHECK-NEXT: NumAllocFunctions: 115CHECK-NEXT: NumStackOffsets: 216CHECK-NEXT: Segments:17CHECK-NEXT: -18CHECK-NEXT: BuildId: {{[[:xdigit:]]+}}19CHECK-NEXT: Start: 0x{{[[:xdigit:]]+}}20CHECK-NEXT: End: 0x{{[[:xdigit:]]+}}21CHECK-NEXT: Offset: 0x{{[[:xdigit:]]+}}22CHECK-NEXT: -23 24CHECK: Records:25CHECK-NEXT: -26CHECK-NEXT: FunctionGUID: {{[0-9]+}}27CHECK-NEXT: AllocSites:28CHECK-NEXT: -29CHECK-NEXT: Callstack:30CHECK-NEXT: -31CHECK-NEXT: Function: {{[0-9]+}}32CHECK-NEXT: SymbolName: main33CHECK-NEXT: LineOffset: 134CHECK-NEXT: Column: 2135CHECK-NEXT: Inline: 036CHECK-NEXT: MemInfoBlock:37CHECK-NEXT: AllocCount: 138CHECK-NEXT: TotalAccessCount: 239CHECK-NEXT: MinAccessCount: 240CHECK-NEXT: MaxAccessCount: 241CHECK-NEXT: TotalSize: 1042CHECK-NEXT: MinSize: 1043CHECK-NEXT: MaxSize: 1044CHECK-NEXT: AllocTimestamp: {{[0-9]+}}45CHECK-NEXT: DeallocTimestamp: {{[0-9]+}}46CHECK-NEXT: TotalLifetime: 047CHECK-NEXT: MinLifetime: 048CHECK-NEXT: MaxLifetime: 049CHECK-NEXT: AllocCpuId: {{[0-9]+}}50CHECK-NEXT: DeallocCpuId: {{[0-9]+}}51CHECK-NEXT: NumMigratedCpu: 052CHECK-NEXT: NumLifetimeOverlaps: 053CHECK-NEXT: NumSameAllocCpu: 054CHECK-NEXT: NumSameDeallocCpu: 055CHECK-NEXT: DataTypeId: {{[0-9]+}}56CHECK-NEXT: TotalAccessDensity: 2057CHECK-NEXT: MinAccessDensity: 2058CHECK-NEXT: MaxAccessDensity: 2059CHECK-NEXT: TotalLifetimeAccessDensity: 2000060CHECK-NEXT: MinLifetimeAccessDensity: 2000061CHECK-NEXT: MaxLifetimeAccessDensity: 2000062CHECK-NEXT: AccessHistogramSize: 063CHECK-NEXT: AccessHistogram: 064CHECK-NEXT: -65CHECK-NEXT: Callstack:66CHECK-NEXT: -67CHECK-NEXT: Function: {{[0-9]+}}68CHECK-NEXT: SymbolName: main69CHECK-NEXT: LineOffset: 470CHECK-NEXT: Column: 1571CHECK-NEXT: Inline: 072CHECK-NEXT: MemInfoBlock:73CHECK-NEXT: AllocCount: 174CHECK-NEXT: TotalAccessCount: 275CHECK-NEXT: MinAccessCount: 276CHECK-NEXT: MaxAccessCount: 277CHECK-NEXT: TotalSize: 1078CHECK-NEXT: MinSize: 1079CHECK-NEXT: MaxSize: 1080CHECK-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: 2093CHECK-NEXT: MinAccessDensity: 2094CHECK-NEXT: MaxAccessDensity: 2095CHECK-NEXT: TotalLifetimeAccessDensity: 2000096CHECK-NEXT: MinLifetimeAccessDensity: 2000097CHECK-NEXT: MaxLifetimeAccessDensity: 2000098CHECK-NEXT: AccessHistogramSize: 099CHECK-NEXT: AccessHistogram: 0100