llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Types | Public Member Functions | Protected Attributes | List of all members
Target Class Reference

#include <core/target.h>

Inheritance diagram for Target:
Inheritance graph
[legend]

Public Types

enum  Kind { X86, PPC, AARCH64, RISCV }
 Enumeration of supported targets.
 

Public Member Functions

 Target (Kind kind, const llvm::Triple &triple, const std::string &cpu, const std::string &tuneCPU, const std::string &fs, const std::string &abi, bool shared)
 
template<typename T >
T * As ()
 Convert the target to a specific target.
 
template<typename T >
const T * As () const
 Convert the target to a specific target.
 
bool IsShared () const
 Checks whether the target is a shared library.
 
const llvm::Triple & GetTriple () const
 Returns the target triple.
 
llvm::StringRef getCPU () const
 Returns the CPU to target.
 
llvm::StringRef getTuneCPU () const
 Returns the CPU to target.
 
llvm::StringRef getFS () const
 Return the feature strings of the target.
 
llvm::StringRef getABI () const
 Return the feature strings of the target.
 
Type GetPointerType () const
 Return the target pointer type.
 
Kind GetKind () const
 Return the target kind.
 
virtual bool IsLittleEndian () const
 Check whether the target is little endian.
 
virtual bool AllowsUnalignedStores () const
 Check whether the target allows unaligned stores.
 

Protected Attributes

Kind kind_
 Target kind.
 
llvm::Triple triple_
 Target triple.
 
std::string cpu_
 Target CPU.
 
std::string tuneCPU_
 Target CPU to tune fore.
 
std::string fs_
 Target feature string.
 
std::string abi_
 Target ABI descriptor.
 
bool shared_
 Flag indicating whether the target is a shared library.
 

Detailed Description

Helper class wrapping information about specific targets.


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