LLVM 20.0.0git
Public Types | Public Attributes | List of all members
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 1245 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 1246 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 1257 of file ModuleSummaryIndex.h.

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

◆ TheKind

enum llvm::WholeProgramDevirtResolution::ByArg::Kind llvm::WholeProgramDevirtResolution::ByArg::TheKind = Indir

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