1REQUIRES: x86_64-linux 2 3This is a copy of memprof-basic.test with slight changes to check that we can still read v3 of memprofraw. 4 5Inputs cannot and should not be updated. 6 7RUN: llvm-profdata show --memory %p/Inputs/basic_v3.memprofraw --profiled-binary %p/Inputs/basic_v3.memprofexe -o - | FileCheck %s 8 9We expect 2 MIB entries, 1 each for the malloc calls in the program. Any 10additional allocations which do not originate from the main binary are pruned. 11 12CHECK: MemprofProfile: 13CHECK-NEXT: Summary: 14CHECK-NEXT: Version: 3 15CHECK-NEXT: NumSegments: {{[0-9]+}} 16CHECK-NEXT: NumMibInfo: 2 17CHECK-NEXT: NumAllocFunctions: 1 18CHECK-NEXT: NumStackOffsets: 2 19CHECK-NEXT: Segments: 20CHECK-NEXT: - 21CHECK-NEXT: BuildId: {{[[:xdigit:]]+}} 22CHECK-NEXT: Start: 0x{{[[:xdigit:]]+}} 23CHECK-NEXT: End: 0x{{[[:xdigit:]]+}} 24CHECK-NEXT: Offset: 0x{{[[:xdigit:]]+}} 25CHECK-NEXT: - 26 27CHECK: Records: 28CHECK-NEXT: - 29CHECK-NEXT: FunctionGUID: {{[0-9]+}} 30CHECK-NEXT: AllocSites: 31CHECK-NEXT: - 32CHECK-NEXT: Callstack: 33CHECK-NEXT: - 34CHECK-NEXT: Function: {{[0-9]+}} 35CHECK-NEXT: SymbolName: main 36CHECK-NEXT: LineOffset: 1 37CHECK-NEXT: Column: 21 38CHECK-NEXT: Inline: 0 39CHECK-NEXT: MemInfoBlock: 40CHECK-NEXT: AllocCount: 1 41CHECK-NEXT: TotalAccessCount: 2 42CHECK-NEXT: MinAccessCount: 2 43CHECK-NEXT: MaxAccessCount: 2 44CHECK-NEXT: TotalSize: 10 45CHECK-NEXT: MinSize: 10 46CHECK-NEXT: MaxSize: 10 47CHECK-NEXT: AllocTimestamp: {{[0-9]+}} 48CHECK-NEXT: DeallocTimestamp: {{[0-9]+}} 49CHECK-NEXT: TotalLifetime: 0 50CHECK-NEXT: MinLifetime: 0 51CHECK-NEXT: MaxLifetime: 0 52CHECK-NEXT: AllocCpuId: {{[0-9]+}} 53CHECK-NEXT: DeallocCpuId: {{[0-9]+}} 54CHECK-NEXT: NumMigratedCpu: 0 55CHECK-NEXT: NumLifetimeOverlaps: 0 56CHECK-NEXT: NumSameAllocCpu: 0 57CHECK-NEXT: NumSameDeallocCpu: 0 58CHECK-NEXT: DataTypeId: {{[0-9]+}} 59CHECK-NEXT: TotalAccessDensity: 20 60CHECK-NEXT: MinAccessDensity: 20 61CHECK-NEXT: MaxAccessDensity: 20 62CHECK-NEXT: TotalLifetimeAccessDensity: 20000 63CHECK-NEXT: MinLifetimeAccessDensity: 20000 64CHECK-NEXT: MaxLifetimeAccessDensity: 20000 65CHECK-NEXT: AccessHistogramSize: 0 66CHECK-NEXT: AccessHistogram: 0 67CHECK-NEXT: - 68CHECK-NEXT: Callstack: 69CHECK-NEXT: - 70CHECK-NEXT: Function: {{[0-9]+}} 71CHECK-NEXT: SymbolName: main 72CHECK-NEXT: LineOffset: 4 73CHECK-NEXT: Column: 15 74CHECK-NEXT: Inline: 0 75CHECK-NEXT: MemInfoBlock: 76CHECK-NEXT: AllocCount: 1 77CHECK-NEXT: TotalAccessCount: 2 78CHECK-NEXT: MinAccessCount: 2 79CHECK-NEXT: MaxAccessCount: 2 80CHECK-NEXT: TotalSize: 10 81CHECK-NEXT: MinSize: 10 82CHECK-NEXT: MaxSize: 10 83CHECK-NEXT: AllocTimestamp: {{[0-9]+}} 84CHECK-NEXT: DeallocTimestamp: {{[0-9]+}} 85CHECK-NEXT: TotalLifetime: 0 86CHECK-NEXT: MinLifetime: 0 87CHECK-NEXT: MaxLifetime: 0 88CHECK-NEXT: AllocCpuId: {{[0-9]+}} 89CHECK-NEXT: DeallocCpuId: {{[0-9]+}} 90CHECK-NEXT: NumMigratedCpu: 0 91CHECK-NEXT: NumLifetimeOverlaps: 0 92CHECK-NEXT: NumSameAllocCpu: 0 93CHECK-NEXT: NumSameDeallocCpu: 0 94CHECK-NEXT: DataTypeId: {{[0-9]+}} 95CHECK-NEXT: TotalAccessDensity: 20 96CHECK-NEXT: MinAccessDensity: 20 97CHECK-NEXT: MaxAccessDensity: 20 98CHECK-NEXT: TotalLifetimeAccessDensity: 20000 99CHECK-NEXT: MinLifetimeAccessDensity: 20000 100CHECK-NEXT: MaxLifetimeAccessDensity: 20000 101CHECK-NEXT: AccessHistogramSize: 0 102CHECK-NEXT: AccessHistogram: 0