LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
llvm::AssignGUIDPass Class Reference

Assign a GUID to functions as metadata. More...

#include "llvm/Analysis/CtxProfAnalysis.h"

Inheritance diagram for llvm::AssignGUIDPass:
Inheritance graph
[legend]

Public Member Functions

 AssignGUIDPass ()=default
 
PreservedAnalyses run (Module &M, ModuleAnalysisManager &MAM)
 Assign a GUID if one is not already assign, as a function metadata named GUIDMetadataName.
 
- Public Member Functions inherited from llvm::PassInfoMixin< AssignGUIDPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Static Public Member Functions

static uint64_t getGUID (const Function &F)
 
- Static Public Member Functions inherited from llvm::PassInfoMixin< AssignGUIDPass >
static StringRef name ()
 Gets the name of the pass we are mixed into.
 

Static Public Attributes

static const charGUIDMetadataName = "guid"
 

Detailed Description

Assign a GUID to functions as metadata.

GUID calculation takes linkage into account, which may change especially through and after thinlto. By pre-computing and assigning as metadata, this mechanism is resilient to such changes (as well as name changes e.g. suffix ".llvm." additions).

Definition at line 109 of file CtxProfAnalysis.h.

Constructor & Destructor Documentation

◆ AssignGUIDPass()

llvm::AssignGUIDPass::AssignGUIDPass ( )
explicitdefault

Member Function Documentation

◆ getGUID()

GlobalValue::GUID AssignGUIDPass::getGUID ( const Function F)
static

◆ run()

PreservedAnalyses AssignGUIDPass::run ( Module M,
ModuleAnalysisManager MAM 
)

Assign a GUID if one is not already assign, as a function metadata named GUIDMetadataName.

Definition at line 70 of file CtxProfAnalysis.cpp.

References F, llvm::MDNode::get(), GUIDMetadataName, and llvm::PreservedAnalyses::none().

Member Data Documentation

◆ GUIDMetadataName

const char * AssignGUIDPass::GUIDMetadataName = "guid"
static

Definition at line 116 of file CtxProfAnalysis.h.

Referenced by getGUID(), and run().


The documentation for this class was generated from the following files: