License | BSD3 |
---|---|
Maintainer | Langston Barrett |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Text.LLVM.Triple.AST
Description
Synopsis
- data Arch
- = UnknownArch
- | ARM
- | ARMEB
- | AArch64
- | AArch64_BE
- | AArch64_32
- | ARC
- | AVR
- | BPFEL
- | BPFEB
- | CSKY
- | DXIL
- | Hexagon
- | LoongArch32
- | LoongArch64
- | M68k
- | MIPS
- | MIPSEL
- | MIPS64
- | MIPS64EL
- | MSP430
- | PPC
- | PPCLE
- | PPC64
- | PPC64LE
- | R600
- | AMDGCN
- | RISCV32
- | RISCV64
- | Sparc
- | Sparcv9
- | SparcEL
- | SystemZ
- | TCE
- | TCELE
- | Thumb
- | ThumbEB
- | X86
- | X86_64
- | XCore
- | NVPTX
- | NVPTX64
- | Le32
- | Le64
- | AMDIL
- | AMDIL64
- | HSAIL
- | HSAIL64
- | SPIR
- | SPIR64
- | SPIRV32
- | SPIRV64
- | Kalimba
- | SHAVE
- | Lanai
- | Wasm32
- | Wasm64
- | RenderScript32
- | RenderScript64
- | VE
- data SubArch
- = NoSubArch
- | ARMSubArch_v9_3a
- | ARMSubArch_v9_2a
- | ARMSubArch_v9_1a
- | ARMSubArch_v9
- | ARMSubArch_v8_8a
- | ARMSubArch_v8_7a
- | ARMSubArch_v8_6a
- | ARMSubArch_v8_5a
- | ARMSubArch_v8_4a
- | ARMSubArch_v8_3a
- | ARMSubArch_v8_2a
- | ARMSubArch_v8_1a
- | ARMSubArch_v8
- | ARMSubArch_v8r
- | ARMSubArch_v8m_baseline
- | ARMSubArch_v8m_mainline
- | ARMSubArch_v8_1m_mainline
- | ARMSubArch_v7
- | ARMSubArch_v7em
- | ARMSubArch_v7m
- | ARMSubArch_v7s
- | ARMSubArch_v7k
- | ARMSubArch_v7ve
- | ARMSubArch_v6
- | ARMSubArch_v6m
- | ARMSubArch_v6k
- | ARMSubArch_v6t2
- | ARMSubArch_v5
- | ARMSubArch_v5te
- | ARMSubArch_v4t
- | AArch64SubArch_arm64e
- | KalimbaSubArch_v3
- | KalimbaSubArch_v4
- | KalimbaSubArch_v5
- | MipsSubArch_r6
- | PPCSubArch_spe
- | SPIRVSubArch_v10
- | SPIRVSubArch_v11
- | SPIRVSubArch_v12
- | SPIRVSubArch_v13
- | SPIRVSubArch_v14
- | SPIRVSubArch_v15
- data Vendor
- = UnknownVendor
- | Apple
- | PC
- | SCEI
- | Freescale
- | IBM
- | ImaginationTechnologies
- | MipsTechnologies
- | NVIDIA
- | CSR
- | Myriad
- | AMD
- | Mesa
- | SUSE
- | OpenEmbedded
- data OS
- = UnknownOS
- | Ananas
- | CloudABI
- | Darwin
- | DragonFly
- | FreeBSD
- | Fuchsia
- | IOS
- | KFreeBSD
- | Linux
- | Lv2
- | MacOSX
- | NetBSD
- | OpenBSD
- | Solaris
- | Win32
- | ZOS
- | Haiku
- | Minix
- | RTEMS
- | NaCl
- | AIX
- | CUDA
- | NVCL
- | AMDHSA
- | PS4
- | PS5
- | ELFIAMCU
- | TvOS
- | WatchOS
- | DriverKit
- | Mesa3D
- | Contiki
- | AMDPAL
- | HermitCore
- | Hurd
- | WASI
- | Emscripten
- | ShaderModel
- data Environment
- = UnknownEnvironment
- | GNU
- | GNUABIN32
- | GNUABI64
- | GNUEABI
- | GNUEABIHF
- | GNUX32
- | GNUILP32
- | CODE16
- | EABI
- | EABIHF
- | Android
- | Musl
- | MuslEABI
- | MuslEABIHF
- | MuslX32
- | MSVC
- | Itanium
- | Cygnus
- | CoreCLR
- | Simulator
- | MacABI
- | Pixel
- | Vertex
- | Geometry
- | Hull
- | Domain
- | Compute
- | Library
- | RayGeneration
- | Intersection
- | AnyHit
- | ClosestHit
- | Miss
- | Callable
- | Mesh
- | Amplification
- data ObjectFormat
- = UnknownObjectFormat
- | COFF
- | DXContainer
- | ELF
- | GOFF
- | MachO
- | SPIRV
- | Wasm
- | XCOFF
- data TargetTriple = TargetTriple {}
Documentation
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: |
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
Data Arch Source # | |
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 # 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 # |
|
Semigroup Arch Source # | A |
Bounded Arch Source # | |
Enum Arch Source # | |
Generic Arch Source # | |
Read Arch Source # | |
Show Arch Source # | |
Eq Arch Source # | |
Ord Arch Source # | |
type Rep Arch Source # | |
Defined in Text.LLVM.Triple.AST type Rep Arch = D1 ('MetaData "Arch" "Text.LLVM.Triple.AST" "llvm-pretty-0.13.0.0-9fa5SXwoFRhBc2HChVRGtn" '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))))))) |
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
Constructors
Instances
Data SubArch Source # | |
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 # |
|
Semigroup SubArch Source # | A |
Bounded SubArch Source # | |
Enum SubArch Source # | |
Generic SubArch Source # | |
Read SubArch Source # | |
Show SubArch Source # | |
Eq SubArch Source # | |
Ord SubArch Source # | |
Defined in Text.LLVM.Triple.AST | |
type Rep SubArch Source # | |
Defined in Text.LLVM.Triple.AST type Rep SubArch = D1 ('MetaData "SubArch" "Text.LLVM.Triple.AST" "llvm-pretty-0.13.0.0-9fa5SXwoFRhBc2HChVRGtn" '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))))))) |
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
Constructors
UnknownVendor | |
Apple | |
PC | |
SCEI | |
Freescale | |
IBM | |
ImaginationTechnologies | |
MipsTechnologies | |
NVIDIA | |
CSR | |
Myriad | |
AMD | |
Mesa | |
SUSE | |
OpenEmbedded |
Instances
Data Vendor Source # | |
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 # |
|
Semigroup Vendor Source # | A |
Bounded Vendor Source # | |
Enum Vendor Source # | |
Defined in Text.LLVM.Triple.AST | |
Generic Vendor Source # | |
Read Vendor Source # | |
Show Vendor Source # | |
Eq Vendor Source # | |
Ord Vendor Source # | |
type Rep Vendor Source # | |
Defined in Text.LLVM.Triple.AST type Rep Vendor = D1 ('MetaData "Vendor" "Text.LLVM.Triple.AST" "llvm-pretty-0.13.0.0-9fa5SXwoFRhBc2HChVRGtn" '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))))) |
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
Data OS Source # | |
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 # 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 # |
|
Semigroup OS Source # | A |
Bounded OS Source # | |
Enum OS Source # | |
Generic OS Source # | |
Read OS Source # | |
Show OS Source # | |
Eq OS Source # | |
Ord OS Source # | |
type Rep OS Source # | |
Defined in Text.LLVM.Triple.AST type Rep OS = D1 ('MetaData "OS" "Text.LLVM.Triple.AST" "llvm-pretty-0.13.0.0-9fa5SXwoFRhBc2HChVRGtn" '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
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
Constructors
UnknownObjectFormat | |
COFF | |
DXContainer | |
ELF | |
GOFF | |
MachO | |
SPIRV | |
Wasm | |
XCOFF |
Instances
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.
Constructors
TargetTriple | |