LLVM  8.0.1
Public Types | Public Attributes | List of all members
llvm::WholeProgramDevirtResolution::ByArg Struct Reference

#include "llvm/IR/ModuleSummaryIndex.h"

Collaboration diagram for llvm::WholeProgramDevirtResolution::ByArg:
Collaboration graph
[legend]

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: More...
 
uint32_t Byte = 0
 
uint32_t Bit = 0
 

Detailed Description

Definition at line 739 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 740 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 751 of file ModuleSummaryIndex.h.

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

◆ TheKind

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

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