LLVM/project b034905llvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots (#131201)

When we collect a contextual profile, we sample the threads entering its root and only collect on one at a time (see `ContextRoot::Taken`). If we want to compare profiles between contextual profiles, and/or flat profiles, we have a problem: we don't know how to compare the counter values relative to each other. To that end, we add `ContextRoot::TotalEntries`, which is incremented every time a root is entered and serves as multiplier for the counter values collected under that root.

We expose this in the profile and leave the normalization to the user of the profile, for a few reasons:

* it's only needed if reasoning about all profiles in aggregate.
* the goal, in compiler_rt, is to flush out the profile as quickly as possible, and performing multiplications adds an overhead that may not even be necessary if the consumer of the profile doesn't care about combining profiles
* the information itself may be interesting as an indication of relative sampling of various contexts.
DeltaFile
+47-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+111-3824 files not shown
+172-4730 files

LLVM/project c4b136bllvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+47-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+111-3823 files not shown
+171-4729 files

LLVM/project 760bc2bllvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+47-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+111-3823 files not shown
+171-4729 files

LLVM/project 7078432llvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+46-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+110-3823 files not shown
+170-4729 files

LLVM/project 552f6c9llvm/test/CodeGen/X86 vector-interleaved-store-i8-stride-7.ll vector-interleaved-store-i16-stride-6.ll, llvm/test/Instrumentation/MemorySanitizer/AArch64 arm64-ld1.ll

rebase

Created using spr 1.3.4
DeltaFile
+3,128-3,170llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
+2,487-2,510llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,716-1,780llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
+15,343-11,6084,566 files not shown
+159,258-104,3134,572 files

LLVM/project 8824c32llvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+46-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+110-3823 files not shown
+170-4729 files

LLVM/project 7aa7364llvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+46-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+110-3823 files not shown
+170-4729 files

LLVM/project f0d861cllvm/include/llvm/ProfileData PGOCtxProfWriter.h PGOCtxProfReader.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp

[ctxprof] Capture sampling info for context roots
DeltaFile
+46-14llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+27-5llvm/lib/ProfileData/PGOCtxProfReader.cpp
+15-5llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+7-7llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+7-5llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+8-2llvm/include/llvm/ProfileData/PGOCtxProfReader.h
+110-3823 files not shown
+171-4729 files

LLVM/project 85e290bllvm/test/CodeGen/AMDGPU bf16.ll, llvm/test/CodeGen/NVPTX cmpxchg-sm90.ll cmpxchg-sm70.ll

Merge branch 'main' into users/meinersbur/flang_runtime_remove-FLANG_INCLUDE_RUNTIME
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+7,350-4,196llvm/test/CodeGen/AMDGPU/bf16.ll
+6,173-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmul.ll
+0-6,173llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
+90,478-10,3696,999 files not shown
+425,286-177,3787,005 files

LLVM/project 2ece26fllvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

Update OB name from `type` to `callee_type`.

Created using spr 1.3.6-beta.1
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+164,956-024,133 files not shown
+2,356,601-721,36324,139 files

LLVM/project 9c94049llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+164,956-024,129 files not shown
+2,356,435-721,19824,135 files

LLVM/project 05307cfllvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2bf16.v8bf16.ll

Update LTO compilation CodeGen flag for call-graph-section.

Created using spr 1.3.6-beta.1
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+164,956-024,129 files not shown
+2,356,435-721,19824,135 files

LLVM/project de23806llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+164,956-024,128 files not shown
+2,356,423-721,19324,134 files

LLVM/project 2c57c89llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll

Merge branch 'main' of https://github.com/llvm/llvm-project into remove-old-res-middle
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+2,915-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+10,875-9,2902,274 files not shown
+97,298-62,3572,280 files

LLVM/project ed3f871llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge branch 'main' into users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+1,240-1,230llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
+9,200-10,5201,240 files not shown
+47,494-33,1451,246 files

LLVM/project 397c487llvm/test/CodeGen/AMDGPU global_atomics_scan_fadd.ll global_atomics_scan_fsub.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge remote-tracking branch 'origin/main' into users/ccc03-08-_astmatcher_templateargumentcountis_support_functiondecl_
DeltaFile
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+726-1,509llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
+7,080-8,2571,023 files not shown
+37,140-28,4421,029 files

LLVM/project 0a1f7f0llvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp

[ctxprof][nfc] Drop `Section` in `writeFlatSection` (#130654)

It matches `writeContextual`, and also, it's not the whole section that's being written there, just a profile, piecemeal.
DeltaFile
+3-4llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+2-2llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+5-62 files

LLVM/project a316516llvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfWriter.cpp

[ctxprof][nfc] Drop `Section` in `writeFlatSection`
DeltaFile
+3-4llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+2-2llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+5-62 files

LLVM/project dc66ca4llvm/test/CodeGen/AMDGPU llvm.amdgcn.smfmac.gfx950.ll, llvm/test/CodeGen/RISCV xqccmp-push-pop-popret.ll

Rebase, address comments

Created using spr 1.3.5
DeltaFile
+6,173-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmul.ll
+0-6,173llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
+3,951-0llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,746-1,734llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+1,348-1,952llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
+17,078-9,8592,714 files not shown
+131,118-67,3922,720 files

LLVM/project d4e79afllvm/test/CodeGen/AMDGPU global_atomics_scan_fsub.ll global_atomics_scan_fadd.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll qci-interrupt-attr-fpr.ll

Merge branch 'main' into users/kparzysz/spr/o03-cancel-directive-name
DeltaFile
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+10,668-4,9201,301 files not shown
+51,893-31,2131,307 files

LLVM/project 7dc7264llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites long-spec-const-composite.ll

Merge branch 'main' into users/ylzsx/r-tls-noie
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+29,745-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
+203,722-016,100 files not shown
+2,040,184-604,85516,106 files

LLVM/project 33f623dllvm/test/CodeGen/AMDGPU vni8-across-blocks.ll shufflevector-physreg-copy.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll qci-interrupt-attr-fpr.ll

Merge branch 'main' into users/kparzysz/spr/o02-metadirective-flush
DeltaFile
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+603-1,206llvm/test/CodeGen/X86/matrix-multiply.ll
+706-540llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
+812-407llvm/test/CodeGen/Thumb2/mve-vld3.ll
+795-0llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
+8,664-2,153747 files not shown
+23,408-10,802753 files

LLVM/project 2ff290bllvm/test/CodeGen/RISCV xqccmp-push-pop-popret.ll qci-interrupt-attr.ll, llvm/test/CodeGen/X86 vector-interleaved-store-i16-stride-7.ll vector-interleaved-store-i8-stride-7.ll

Rebase

Created using spr 1.3.5
DeltaFile
+3,951-0llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,746-1,734llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+1,532-1,534llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+16,837-3,2681,830 files not shown
+73,594-27,5911,836 files

LLVM/project c8fd7a8llvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfReader.cpp PGOCtxProfWriter.cpp

[ctxprof] Profile section for flat profiles (#129932)

A section for flat profiles (i.e. non-contextual). This is useful for debugging or for intentional cases where a root isn't identified.

This patch adds the reader/writer support. `compiler-rt` changes follow in a subsequent change.
DeltaFile
+61-12llvm/lib/ProfileData/PGOCtxProfReader.cpp
+42-0llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+26-1llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+19-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
+14-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
+10-1llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+172-145 files not shown
+190-1411 files

LLVM/project ae02425llvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfReader.cpp PGOCtxProfWriter.cpp

[ctxprof] Profile section for flat profiles
DeltaFile
+61-12llvm/lib/ProfileData/PGOCtxProfReader.cpp
+42-0llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+26-1llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+19-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
+14-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
+10-1llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+172-145 files not shown
+190-1411 files

LLVM/project afc850ellvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfReader.cpp PGOCtxProfWriter.cpp

[ctxprof] Profile section for flat profiles
DeltaFile
+61-12llvm/lib/ProfileData/PGOCtxProfReader.cpp
+42-0llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+26-1llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+19-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
+14-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
+10-1llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+172-145 files not shown
+190-1411 files

LLVM/project 8cb72bdllvm/test/CodeGen/NVPTX cmpxchg-sm90.ll cmpxchg-sm60.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites long-spec-const-composite.ll

reb

Created using spr 1.3.4
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+0-6,173llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
+6,173-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmul.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
+88,808-6,1733,815 files not shown
+253,453-75,5073,821 files

LLVM/project 08da240llvm/include/llvm/ProfileData PGOCtxProfWriter.h, llvm/lib/ProfileData PGOCtxProfReader.cpp PGOCtxProfWriter.cpp

[ctxprof] Profile section for flat profiles
DeltaFile
+61-12llvm/lib/ProfileData/PGOCtxProfReader.cpp
+42-0llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+26-1llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+19-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
+14-0llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
+10-1llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
+172-145 files not shown
+190-1411 files

LLVM/project 5223dddllvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp, llvm/test/Analysis/CtxProfAnalysis full-cycle.ll

[ctxprof] Prepare profile format for flat profiles (#129626)

The profile format has now a separate section called "Contexts" - there will be a corresponding one for flat profiles. The root has a separate tag because, in addition to not having a callsite ID as all the other context nodes have under it, it will have additional fields in subsequent patches.

The rest of this patch amounts to a bit of refactorings in the reader/writer (for better reuse later) and tests fixups.
DeltaFile
+61-20llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+54-26llvm/lib/ProfileData/PGOCtxProfReader.cpp
+72-6llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+30-28llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
+29-27llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+29-27llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
+275-13426 files not shown
+470-26432 files

LLVM/project 0c3056dllvm/lib/ProfileData PGOCtxProfWriter.cpp PGOCtxProfReader.cpp, llvm/test/Analysis/CtxProfAnalysis full-cycle.ll

[ctxprof] Prepare profile format for flat profiles
DeltaFile
+61-20llvm/lib/ProfileData/PGOCtxProfWriter.cpp
+54-26llvm/lib/ProfileData/PGOCtxProfReader.cpp
+72-6llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
+30-28llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
+29-27llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
+29-27llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
+275-13426 files not shown
+470-26432 files