Intel® Implicit SPMD Program Compiler (Intel® ISPC)  1.13.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
TargetLibRegistry Class Reference

#include <target_registry.h>

Collaboration diagram for TargetLibRegistry:
Collaboration graph
[legend]

Public Member Functions

const BitcodeLibgetDispatchLib () const
 
const BitcodeLibgetBuiltinsCLib (TargetOS os, Arch arch) const
 
const BitcodeLibgetISPCTargetLib (ISPCTarget target, TargetOS os, Arch arch) const
 
void printSupportMatrix () const
 
std::string getSupportedArchs ()
 
std::string getSupportedTargets ()
 
std::string getSupportedOSes ()
 
bool isSupported (ISPCTarget target, TargetOS os, Arch arch) const
 

Static Public Member Functions

static void RegisterTarget (const BitcodeLib *lib)
 
static TargetLibRegistrygetTargetLibRegistry ()
 

Private Member Functions

 TargetLibRegistry ()
 

Private Attributes

const BitcodeLibm_dispatch
 
std::map< uint32_t, const BitcodeLib * > m_builtins
 
std::map< uint32_t, const BitcodeLib * > m_targets
 
std::bitset<(int) TargetOS::errorm_supported_oses
 

Static Private Attributes

static std::vector< const BitcodeLib * > * libs = nullptr
 

Detailed Description

Definition at line 66 of file target_registry.h.

Constructor & Destructor Documentation

◆ TargetLibRegistry()

TargetLibRegistry::TargetLibRegistry ( )
private

Member Function Documentation

◆ getBuiltinsCLib()

const BitcodeLib * TargetLibRegistry::getBuiltinsCLib ( TargetOS  os,
Arch  arch 
) const

Definition at line 133 of file target_registry.cpp.

References Triple::encode(), none, and Triple::Triple().

Referenced by DefineStdlib().

◆ getDispatchLib()

const BitcodeLib * TargetLibRegistry::getDispatchLib ( ) const

Definition at line 131 of file target_registry.cpp.

Referenced by lInitDispatchModule().

◆ getISPCTargetLib()

const BitcodeLib * TargetLibRegistry::getISPCTargetLib ( ISPCTarget  target,
TargetOS  os,
Arch  arch 
) const

◆ getSupportedArchs()

std::string TargetLibRegistry::getSupportedArchs ( )

Definition at line 239 of file target_registry.cpp.

References ArchToString(), error, none, sse2_i32x4, and windows.

Referenced by main(), and usage().

◆ getSupportedOSes()

std::string TargetLibRegistry::getSupportedOSes ( )

Definition at line 286 of file target_registry.cpp.

References error, OSToLowerString(), and windows.

Referenced by main(), ParseOS(), and usage().

◆ getSupportedTargets()

std::string TargetLibRegistry::getSupportedTargets ( )

Definition at line 263 of file target_registry.cpp.

References error, ISPCTargetToString(), none, sse2_i32x4, and windows.

Referenced by main(), and usage().

◆ getTargetLibRegistry()

TargetLibRegistry * TargetLibRegistry::getTargetLibRegistry ( )
static

Definition at line 126 of file target_registry.cpp.

Referenced by Globals::Globals().

◆ isSupported()

bool TargetLibRegistry::isSupported ( ISPCTarget  target,
TargetOS  os,
Arch  arch 
) const

Definition at line 303 of file target_registry.cpp.

◆ printSupportMatrix()

void TargetLibRegistry::printSupportMatrix ( ) const

Definition at line 175 of file target_registry.cpp.

References ArchToString(), error, ISPCTargetToString(), none, OSToString(), sse2_i32x4, and windows.

Referenced by main().

◆ RegisterTarget()

void TargetLibRegistry::RegisterTarget ( const BitcodeLib lib)
static

Definition at line 119 of file target_registry.cpp.

Referenced by BitcodeLib::BitcodeLib().

Member Data Documentation

◆ libs

std::vector< const BitcodeLib * > * TargetLibRegistry::libs = nullptr
staticprivate

Definition at line 67 of file target_registry.h.

Referenced by Triple::encode().

◆ m_builtins

std::map<uint32_t, const BitcodeLib *> TargetLibRegistry::m_builtins
private

Definition at line 78 of file target_registry.h.

◆ m_dispatch

const BitcodeLib* TargetLibRegistry::m_dispatch
private

Definition at line 74 of file target_registry.h.

◆ m_supported_oses

std::bitset<(int)TargetOS::error> TargetLibRegistry::m_supported_oses
private

Definition at line 85 of file target_registry.h.

◆ m_targets

std::map<uint32_t, const BitcodeLib *> TargetLibRegistry::m_targets
private

Definition at line 82 of file target_registry.h.


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