llvm-pretty-0.12.0.0: A pretty printing library inspired by the llvm binding.
LicenseBSD3
MaintainerLangston Barrett
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.LLVM.Triple.AST

Description

 
Synopsis

Documentation

data Arch Source #

The constructors of this type exactly mirror the LLVM enum ArchType, including inconsistent labeling of endianness. Capitalization is taken from the LLVM comments, which are reproduced below.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L46

Constructors

UnknownArch 
ARM

ARM (little endian): arm armv.* xscale

ARMEB

ARM (big endian): armeb

AArch64

AArch64 (little endian): aarch64

AArch64_BE

AArch64 (big endian): aarch64_be

AArch64_32

AArch64 (little endian) ILP32: aarch64_32

ARC

ARC: Synopsys ARC

AVR

AVR: Atmel AVR microcontroller

BPFEL

eBPF or extended BPF or 64-bit BPF (little endian)

BPFEB

eBPF or extended BPF or 64-bit BPF (big endian)

CSKY

CSKY: csky

DXIL

DXIL 32-bit DirectX bytecode

Hexagon

Hexagon: hexagon

LoongArch32

LoongArch (32-bit): loongarch32

LoongArch64

LoongArch (64-bit): loongarch64

M68k

M68k: Motorola 680x0 family

MIPS

MIPS: mips mipsallegrex mipsr6

MIPSEL

MIPSEL: mipsel mipsallegrexe mipsr6el

MIPS64

MIPS64: mips64 mips64r6 mipsn32 mipsn32r6

MIPS64EL

MIPS64EL: mips64el mips64r6el mipsn32el mipsn32r6el

MSP430

MSP430: msp430

PPC

PPC: powerpc

PPCLE

PPCLE: powerpc (little endian)

PPC64

PPC64: powerpc64 ppu

PPC64LE

PPC64LE: powerpc64le

R600

R600: AMD GPUs HD2XXX - HD6XXX

AMDGCN

AMDGCN: AMD GCN GPUs

RISCV32

RISC-V (32-bit): riscv32

RISCV64

RISC-V (64-bit): riscv64

Sparc

Sparc: sparc

Sparcv9

Sparcv9: Sparcv9

SparcEL

Sparc: (endianness = little). NB: Sparcle is a CPU variant

SystemZ

SystemZ: s390x

TCE

TCE (http:/tce.cs.tut.fi): tce

TCELE

TCE little endian (http:/tce.cs.tut.fi): tcele

Thumb

Thumb (little endian): thumb thumbv.*

ThumbEB

Thumb (big endian): thumbeb

X86

X86: i[3-9]86

X86_64

X86-64: amd64 x86_64

XCore

XCore: xcore

NVPTX

NVPTX: 32-bit

NVPTX64

NVPTX: 64-bit

Le32

le32: generic little-endian 32-bit CPU (PNaCl)

Le64

le64: generic little-endian 64-bit CPU (PNaCl)

AMDIL

AMDIL

AMDIL64

AMDIL with 64-bit pointers

HSAIL

AMD HSAIL

HSAIL64

AMD HSAIL with 64-bit pointers

SPIR

SPIR: standard portable IR for OpenCL 32-bit version

SPIR64

SPIR: standard portable IR for OpenCL 64-bit version

SPIRV32

SPIR-V with 32-bit pointers

SPIRV64

SPIR-V with 64-bit pointers

Kalimba

Kalimba: generic kalimba

SHAVE

SHAVE: Movidius vector VLIW processors

Lanai

Lanai: Lanai 32-bit

Wasm32

WebAssembly with 32-bit pointers

Wasm64

WebAssembly with 64-bit pointers

RenderScript32

32-bit RenderScript

RenderScript64

64-bit RenderScript

VE

NEC SX-Aurora Vector Engine

Instances

Instances details
Data Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch #

toConstr :: Arch -> Constr #

dataTypeOf :: Arch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) #

gmapT :: (forall b. Data b => b -> b) -> Arch -> Arch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r #

gmapQ :: (forall d. Data d => d -> u) -> Arch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Arch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch #

Monoid Arch Source #
mempty == UnknownArch
Instance details

Defined in Text.LLVM.Triple.AST

Methods

mempty :: Arch #

mappend :: Arch -> Arch -> Arch #

mconcat :: [Arch] -> Arch #

Semigroup Arch Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is UnknownArch.

Instance details

Defined in Text.LLVM.Triple.AST

Methods

(<>) :: Arch -> Arch -> Arch #

sconcat :: NonEmpty Arch -> Arch #

stimes :: Integral b => b -> Arch -> Arch #

Bounded Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Enum Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

succ :: Arch -> Arch #

pred :: Arch -> Arch #

toEnum :: Int -> Arch #

fromEnum :: Arch -> Int #

enumFrom :: Arch -> [Arch] #

enumFromThen :: Arch -> Arch -> [Arch] #

enumFromTo :: Arch -> Arch -> [Arch] #

enumFromThenTo :: Arch -> Arch -> Arch -> [Arch] #

Generic Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep Arch :: Type -> Type #

Methods

from :: Arch -> Rep Arch x #

to :: Rep Arch x -> Arch #

Read Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

showsPrec :: Int -> Arch -> ShowS #

show :: Arch -> String #

showList :: [Arch] -> ShowS #

Eq Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

(==) :: Arch -> Arch -> Bool #

(/=) :: Arch -> Arch -> Bool #

Ord Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

compare :: Arch -> Arch -> Ordering #

(<) :: Arch -> Arch -> Bool #

(<=) :: Arch -> Arch -> Bool #

(>) :: Arch -> Arch -> Bool #

(>=) :: Arch -> Arch -> Bool #

max :: Arch -> Arch -> Arch #

min :: Arch -> Arch -> Arch #

type Rep Arch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep Arch = D1 ('MetaData "Arch" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((((C1 ('MetaCons "UnknownArch" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMEB" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "AArch64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AArch64_BE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AArch64_32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARC" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "AVR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BPFEL" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BPFEB" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CSKY" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DXIL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Hexagon" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LoongArch32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LoongArch64" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "M68k" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MIPS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MIPSEL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MIPS64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MIPS64EL" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MSP430" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PPC" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "PPCLE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PPC64" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PPC64LE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "R600" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "AMDGCN" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RISCV32" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RISCV64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sparc" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Sparcv9" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SparcEL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SystemZ" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TCE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCELE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Thumb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ThumbEB" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "X86" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "X86_64" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "XCore" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NVPTX" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "NVPTX64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Le32" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Le64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AMDIL" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "AMDIL64" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HSAIL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HSAIL64" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "SPIR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SPIR64" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SPIRV32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SPIRV64" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "Kalimba" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SHAVE" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Lanai" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Wasm32" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Wasm64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RenderScript32" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RenderScript64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VE" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data SubArch Source #

The constructors of this type exactly mirror the LLVM enum SubArchType.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L110

Instances

Instances details
Data SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SubArch -> c SubArch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SubArch #

toConstr :: SubArch -> Constr #

dataTypeOf :: SubArch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SubArch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SubArch) #

gmapT :: (forall b. Data b => b -> b) -> SubArch -> SubArch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SubArch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SubArch -> r #

gmapQ :: (forall d. Data d => d -> u) -> SubArch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SubArch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SubArch -> m SubArch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SubArch -> m SubArch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SubArch -> m SubArch #

Monoid SubArch Source #
mempty == NoSubArch
Instance details

Defined in Text.LLVM.Triple.AST

Semigroup SubArch Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is NoSubArch.

Instance details

Defined in Text.LLVM.Triple.AST

Bounded SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Enum SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Generic SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep SubArch :: Type -> Type #

Methods

from :: SubArch -> Rep SubArch x #

to :: Rep SubArch x -> SubArch #

Read SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Eq SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

(==) :: SubArch -> SubArch -> Bool #

(/=) :: SubArch -> SubArch -> Bool #

Ord SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep SubArch Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep SubArch = D1 ('MetaData "SubArch" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((((C1 ('MetaCons "NoSubArch" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v9_3a" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ARMSubArch_v9_2a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v9_1a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v9" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ARMSubArch_v8_8a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v8_7a" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ARMSubArch_v8_6a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v8_5a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v8_4a" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "ARMSubArch_v8_3a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v8_2a" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ARMSubArch_v8_1a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v8r" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ARMSubArch_v8m_baseline" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v8m_mainline" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v8_1m_mainline" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ARMSubArch_v7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v7em" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v7m" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "ARMSubArch_v7s" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v7k" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ARMSubArch_v7ve" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v6m" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ARMSubArch_v6k" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v6t2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARMSubArch_v5" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ARMSubArch_v5te" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ARMSubArch_v4t" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AArch64SubArch_arm64e" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KalimbaSubArch_v3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KalimbaSubArch_v4" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KalimbaSubArch_v5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MipsSubArch_r6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PPCSubArch_spe" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SPIRVSubArch_v10" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SPIRVSubArch_v11" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SPIRVSubArch_v12" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SPIRVSubArch_v13" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SPIRVSubArch_v14" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SPIRVSubArch_v15" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data Vendor Source #

The constructors of this type exactly mirror the LLVM enum VendorType, including ordering and grouping.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L162

Instances

Instances details
Data Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vendor -> c Vendor #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Vendor #

toConstr :: Vendor -> Constr #

dataTypeOf :: Vendor -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Vendor) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Vendor) #

gmapT :: (forall b. Data b => b -> b) -> Vendor -> Vendor #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vendor -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vendor -> r #

gmapQ :: (forall d. Data d => d -> u) -> Vendor -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vendor -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vendor -> m Vendor #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vendor -> m Vendor #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vendor -> m Vendor #

Monoid Vendor Source #
mempty == UnknownVendor
Instance details

Defined in Text.LLVM.Triple.AST

Semigroup Vendor Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is UnknownVendor.

Instance details

Defined in Text.LLVM.Triple.AST

Bounded Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Enum Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Generic Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep Vendor :: Type -> Type #

Methods

from :: Vendor -> Rep Vendor x #

to :: Rep Vendor x -> Vendor #

Read Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Eq Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

(==) :: Vendor -> Vendor -> Bool #

(/=) :: Vendor -> Vendor -> Bool #

Ord Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep Vendor Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep Vendor = D1 ('MetaData "Vendor" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((C1 ('MetaCons "UnknownVendor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Apple" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PC" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "SCEI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Freescale" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IBM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImaginationTechnologies" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "MipsTechnologies" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NVIDIA" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CSR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Myriad" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "AMD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Mesa" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SUSE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OpenEmbedded" 'PrefixI 'False) (U1 :: Type -> Type)))))

data OS Source #

The constructors of this type exactly mirror the LLVM enum OSType, including ordering and grouping.

End-of-line comments from LLVM are reproduced as constructor comments.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L181

Constructors

UnknownOS 
Ananas 
CloudABI 
Darwin 
DragonFly 
FreeBSD 
Fuchsia 
IOS 
KFreeBSD 
Linux 
Lv2

PS3

MacOSX 
NetBSD 
OpenBSD 
Solaris 
Win32 
ZOS 
Haiku 
Minix 
RTEMS 
NaCl

Native Client

AIX 
CUDA

NVIDIA CUDA

NVCL

NVIDIA OpenCL

AMDHSA

AMD HSA Runtime

PS4 
PS5 
ELFIAMCU 
TvOS

Apple tvOS

WatchOS

Apple watchOS

DriverKit

Apple DriverKit

Mesa3D 
Contiki 
AMDPAL

AMD PAL Runtime

HermitCore

HermitCore Unikernel/Multikernel

Hurd

GNU/Hurd

WASI

Experimental WebAssembly OS

Emscripten 
ShaderModel

DirectX ShaderModel

Instances

Instances details
Data OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OS -> c OS #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OS #

toConstr :: OS -> Constr #

dataTypeOf :: OS -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OS) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OS) #

gmapT :: (forall b. Data b => b -> b) -> OS -> OS #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OS -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OS -> r #

gmapQ :: (forall d. Data d => d -> u) -> OS -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OS -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OS -> m OS #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OS -> m OS #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OS -> m OS #

Monoid OS Source #
mempty == UnknownOS
Instance details

Defined in Text.LLVM.Triple.AST

Methods

mempty :: OS #

mappend :: OS -> OS -> OS #

mconcat :: [OS] -> OS #

Semigroup OS Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is UnknownOS.

Instance details

Defined in Text.LLVM.Triple.AST

Methods

(<>) :: OS -> OS -> OS #

sconcat :: NonEmpty OS -> OS #

stimes :: Integral b => b -> OS -> OS #

Bounded OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

minBound :: OS #

maxBound :: OS #

Enum OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

succ :: OS -> OS #

pred :: OS -> OS #

toEnum :: Int -> OS #

fromEnum :: OS -> Int #

enumFrom :: OS -> [OS] #

enumFromThen :: OS -> OS -> [OS] #

enumFromTo :: OS -> OS -> [OS] #

enumFromThenTo :: OS -> OS -> OS -> [OS] #

Generic OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep OS :: Type -> Type #

Methods

from :: OS -> Rep OS x #

to :: Rep OS x -> OS #

Read OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

showsPrec :: Int -> OS -> ShowS #

show :: OS -> String #

showList :: [OS] -> ShowS #

Eq OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

(==) :: OS -> OS -> Bool #

(/=) :: OS -> OS -> Bool #

Ord OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

compare :: OS -> OS -> Ordering #

(<) :: OS -> OS -> Bool #

(<=) :: OS -> OS -> Bool #

(>) :: OS -> OS -> Bool #

(>=) :: OS -> OS -> Bool #

max :: OS -> OS -> OS #

min :: OS -> OS -> OS #

type Rep OS Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep OS = D1 ('MetaData "OS" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((((C1 ('MetaCons "UnknownOS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ananas" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CloudABI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Darwin" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DragonFly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FreeBSD" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Fuchsia" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IOS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KFreeBSD" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Linux" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Lv2" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MacOSX" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NetBSD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OpenBSD" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Solaris" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Win32" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ZOS" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Haiku" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Minix" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "RTEMS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NaCl" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AIX" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CUDA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NVCL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "AMDHSA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PS4" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PS5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ELFIAMCU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TvOS" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "WatchOS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DriverKit" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mesa3D" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Contiki" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AMDPAL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "HermitCore" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Hurd" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "WASI" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Emscripten" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ShaderModel" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data Environment Source #

The constructors of this type exactly mirror the LLVM enum EnvironmentType, including ordering and grouping.

End-of-line comments from LLVM are reproduced as constructor comments.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L224

Constructors

UnknownEnvironment 
GNU 
GNUABIN32 
GNUABI64 
GNUEABI 
GNUEABIHF 
GNUX32 
GNUILP32 
CODE16 
EABI 
EABIHF 
Android 
Musl 
MuslEABI 
MuslEABIHF 
MuslX32 
MSVC 
Itanium 
Cygnus 
CoreCLR 
Simulator

Simulator variants of other systems e.g. Apple's iOS

MacABI

Mac Catalyst variant of Apple's iOS deployment target.

Pixel 
Vertex 
Geometry 
Hull 
Domain 
Compute 
Library 
RayGeneration 
Intersection 
AnyHit 
ClosestHit 
Miss 
Callable 
Mesh 
Amplification 

Instances

Instances details
Data Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Environment -> c Environment #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Environment #

toConstr :: Environment -> Constr #

dataTypeOf :: Environment -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Environment) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Environment) #

gmapT :: (forall b. Data b => b -> b) -> Environment -> Environment #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Environment -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Environment -> r #

gmapQ :: (forall d. Data d => d -> u) -> Environment -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Environment -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Environment -> m Environment #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Environment -> m Environment #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Environment -> m Environment #

Monoid Environment Source #
mempty == UnknownEnvironment
Instance details

Defined in Text.LLVM.Triple.AST

Semigroup Environment Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is UnknownEnvironment.

Instance details

Defined in Text.LLVM.Triple.AST

Bounded Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Enum Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Generic Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep Environment :: Type -> Type #

Read Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Eq Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Ord Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep Environment Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep Environment = D1 ('MetaData "Environment" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((((C1 ('MetaCons "UnknownEnvironment" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GNU" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GNUABIN32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GNUABI64" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GNUEABI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GNUEABIHF" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GNUX32" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GNUILP32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CODE16" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "EABI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EABIHF" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Android" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Musl" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MuslEABI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MuslEABIHF" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MuslX32" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MSVC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Itanium" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Cygnus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CoreCLR" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Simulator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MacABI" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Pixel" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Vertex" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Geometry" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Hull" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Domain" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Compute" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Library" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RayGeneration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Intersection" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AnyHit" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ClosestHit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Miss" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Callable" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Mesh" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Amplification" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data ObjectFormat Source #

The constructors of this type exactly mirror the LLVM enum ObjectFormatType, including ordering.

Last updated: LLVM 15.0.1: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.1/llvm/include/llvm/ADT/Triple.h#L269

Instances

Instances details
Data ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjectFormat -> c ObjectFormat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjectFormat #

toConstr :: ObjectFormat -> Constr #

dataTypeOf :: ObjectFormat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ObjectFormat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjectFormat) #

gmapT :: (forall b. Data b => b -> b) -> ObjectFormat -> ObjectFormat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjectFormat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjectFormat -> r #

gmapQ :: (forall d. Data d => d -> u) -> ObjectFormat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjectFormat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjectFormat -> m ObjectFormat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjectFormat -> m ObjectFormat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjectFormat -> m ObjectFormat #

Monoid ObjectFormat Source #
mempty == UnknownObjectFormat
Instance details

Defined in Text.LLVM.Triple.AST

Semigroup ObjectFormat Source #

A First-like semigroup instance that simply drops the RHS, unless the LHS is UnknownObjectFormat.

Instance details

Defined in Text.LLVM.Triple.AST

Bounded ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Enum ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Generic ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep ObjectFormat :: Type -> Type #

Read ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Eq ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Ord ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep ObjectFormat Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep ObjectFormat = D1 ('MetaData "ObjectFormat" "Text.LLVM.Triple.AST" "llvm-pretty-0.12.0.0-3IOlow5XxzhDT5KTgFPPkh" 'False) (((C1 ('MetaCons "UnknownObjectFormat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "COFF" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DXContainer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ELF" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GOFF" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MachO" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SPIRV" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Wasm" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "XCOFF" 'PrefixI 'False) (U1 :: Type -> Type)))))

data TargetTriple Source #

More like a sextuple than a triple, if you think about it.

The LLVM version of this holds onto the un-normalized string representation. We discard it.

Instances

Instances details
Data TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TargetTriple -> c TargetTriple #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TargetTriple #

toConstr :: TargetTriple -> Constr #

dataTypeOf :: TargetTriple -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TargetTriple) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TargetTriple) #

gmapT :: (forall b. Data b => b -> b) -> TargetTriple -> TargetTriple #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TargetTriple -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TargetTriple -> r #

gmapQ :: (forall d. Data d => d -> u) -> TargetTriple -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TargetTriple -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TargetTriple -> m TargetTriple #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TargetTriple -> m TargetTriple #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TargetTriple -> m TargetTriple #

Monoid TargetTriple Source #

Pointwise mempty.

Instance details

Defined in Text.LLVM.Triple.AST

Semigroup TargetTriple Source #

Combines fields pointwise.

Instance details

Defined in Text.LLVM.Triple.AST

Bounded TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Generic TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Associated Types

type Rep TargetTriple :: Type -> Type #

Read TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Show TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Eq TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

Ord TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST

type Rep TargetTriple Source # 
Instance details

Defined in Text.LLVM.Triple.AST