LLVM 22.0.0git
llvm::WholeProgramDevirtResolution::ByArg Struct Reference

#include "llvm/IR/ModuleSummaryIndex.h"

Public Types

enum  Kind { Indir , UniformRetVal , UniqueRetVal , VirtualConstProp }

Public Attributes

enum llvm::WholeProgramDevirtResolution::ByArg::Kind TheKind = Indir
uint64_t Info = 0
 Additional information for the resolution:
uint32_t Byte = 0
uint32_t Bit = 0

Detailed Description

Definition at line 1241 of file ModuleSummaryIndex.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Indir 

Just do a regular virtual call.

UniformRetVal 

Uniform return value optimization.

UniqueRetVal 

Unique return value optimization.

VirtualConstProp 

Virtual constant propagation.

Definition at line 1242 of file ModuleSummaryIndex.h.

Member Data Documentation

◆ Bit

uint32_t llvm::WholeProgramDevirtResolution::ByArg::Bit = 0

◆ Byte

uint32_t llvm::WholeProgramDevirtResolution::ByArg::Byte = 0

◆ Info

uint64_t llvm::WholeProgramDevirtResolution::ByArg::Info = 0

Additional information for the resolution:

  • UniformRetVal: the uniform return value.
  • UniqueRetVal: the return value associated with the unique vtable (0 or 1).

Definition at line 1253 of file ModuleSummaryIndex.h.

Referenced by llvm::yaml::MappingTraits< WholeProgramDevirtResolution::ByArg >::mapping(), and writeWholeProgramDevirtResolutionByArg().

◆ TheKind


The documentation for this struct was generated from the following file: