[#llvm-NamedInstrProfRecord] = xref:llvm.adoc[llvm]::NamedInstrProfRecord :relfileprefix: ../ :mrdocs: InstrProfRecord annotated with the function's PGO name and hash. == Synopsis Declared in `<llvm/ProfileData/InstrProf.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct NamedInstrProfRecord : xref:llvm/InstrProfRecord.adoc[InstrProfRecord] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/InstrProfRecord.adoc[InstrProfRecord]` | Profiling information for a single function. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:llvm/InstrProfRecord/CountPseudoKind.adoc[`CountPseudoKind`] | Pseudo hot/warm classification encoded in the first counter. | xref:llvm/InstrProfRecord/PseudoCountVal.adoc[`PseudoCountVal`] | Sentinel counter values used to encode pseudo hot/warm. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/NamedInstrProfRecord/2constructor-0c.adoc[`NamedInstrProfRecord`] [.small]#[constructor]# | Constructors | xref:llvm/InstrProfRecord/operator_assign-01f.adoc[`operator=`] | Assignment operators | xref:llvm/InstrProfRecord/Clear.adoc[`Clear`] | Clear value data entries, edge counters, and uniformity data. | xref:llvm/InstrProfRecord/accumulateCounts.adoc[`accumulateCounts`] | Accumulate all counts into `Sum.` | xref:llvm/InstrProfRecord/addValueData.adoc[`addValueData`] | Add value data for `ValueKind` at site `Site.` | xref:llvm/InstrProfRecord/clearValueData.adoc[`clearValueData`] | Clear value data entries | xref:llvm/InstrProfRecord/computeBlockUniformity.adoc[`computeBlockUniformity`] | Recompute uniformity metadata from raw uniform counters, when present. | xref:llvm/InstrProfRecord/getCountPseudoKind.adoc[`getCountPseudoKind`] | Return whether the first counter encodes a pseudo hot/warm kind. | xref:llvm/InstrProfRecord/getNumValueData.adoc[`getNumValueData`] | Return the total number of ValueData entries for `ValueKind.` | xref:llvm/InstrProfRecord/getNumValueKinds.adoc[`getNumValueKinds`] | Return the number of value profile kinds with non‐zero number of profile sites. | xref:llvm/InstrProfRecord/getNumValueSites.adoc[`getNumValueSites`] | Return the number of instrumented sites for `ValueKind.` | xref:llvm/InstrProfRecord/getValueArrayForSite.adoc[`getValueArrayForSite`] | Return the array of profiled values at site `Site.` | xref:llvm/InstrProfRecord/isBlockUniform.adoc[`isBlockUniform`] | Return true if basic block `BlockIdx` is entered wave‐uniformly. | xref:llvm/InstrProfRecord/merge.adoc[`merge`] | Merge the counts in `Other` into this record. | xref:llvm/InstrProfRecord/overlap.adoc[`overlap`] | Compute overlap between this record and `Other.` | xref:llvm/InstrProfRecord/overlapValueProfData.adoc[`overlapValueProfData`] | Compute overlap of value‐profile counts for `ValueKind.` | xref:llvm/InstrProfRecord/reserveSites.adoc[`reserveSites`] | Reserve space for `NumValueSites` sites of kind `ValueKind.` | xref:llvm/InstrProfRecord/scale.adoc[`scale`] | Scale profile counts (including value data) by `N` / `D.` | xref:llvm/InstrProfRecord/setPseudoCount.adoc[`setPseudoCount`] | Encode pseudo hot/warm kind `Kind` into the first counter. | xref:llvm/InstrProfRecord/sortValueData.adoc[`sortValueData`] | Sort value profile data (per site) by count. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/NamedInstrProfRecord/hasCSFlagInHash.adoc[`hasCSFlagInHash`] | Return true if `FuncHash` has the context‐sensitive flag set. | xref:llvm/NamedInstrProfRecord/setCSFlagInHash.adoc[`setCSFlagInHash`] | Set the context‐sensitive flag bit in `FuncHash.` |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/InstrProfRecord/BitmapBytes.adoc[`BitmapBytes`] | Bitmap bytes used by coverage / MC/DC instrumentation. | xref:llvm/InstrProfRecord/Counts.adoc[`Counts`] | Per‐block or per‐edge execution counts. | xref:llvm/NamedInstrProfRecord/Hash.adoc[`Hash`] | Structural / PGO hash of the function, including flag bits. | xref:llvm/NamedInstrProfRecord/Name.adoc[`Name`] | PGO name of the profiled function. | xref:llvm/InstrProfRecord/OffloadDeviceWaveSize.adoc[`OffloadDeviceWaveSize`] | Wave size of the offload device that produced uniformity data, if any. | xref:llvm/InstrProfRecord/UniformCounts.adoc[`UniformCounts`] | For AMDGPU offload profiling: raw or merged uniform counters. One uint64_t per instrumented block, tracking entries where all lanes were active. | xref:llvm/InstrProfRecord/UniformityBits.adoc[`UniformityBits`] | Per‐block wave‐uniformity bits for AMDGPU offload profiling. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/NamedInstrProfRecord/CS_FLAG_IN_FUNC_HASH.adoc[`CS_FLAG_IN_FUNC_HASH`] | Bit index in `Hash` that marks a context‐sensitive profile record. | xref:llvm/NamedInstrProfRecord/FUNC_HASH_MASK.adoc[`FUNC_HASH_MASK`] | Mask of hash bits that encode the function identity (excludes flag bits). |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#