| 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.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))))))) | |
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.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))))))) | |
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.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))))) | |
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.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
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 | |