llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <core/target.h>
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. | |
Helper class wrapping information about specific targets.