Navigation
index
next
|
previous
|
LLVM Home
|
Documentation
»
LLVM Language Reference Manual
ΒΆ
Abstract
Introduction
Well-Formedness
Identifiers
High Level Structure
Module Structure
Linkage Types
Calling Conventions
Visibility Styles
DLL Storage Classes
Thread Local Storage Models
Structure Types
Global Variables
Functions
Aliases
Comdats
Named Metadata
Parameter Attributes
Garbage Collector Names
Prefix Data
Attribute Groups
Function Attributes
Module-Level Inline Assembly
Data Layout
Target Triple
Pointer Aliasing Rules
Volatile Memory Accesses
Memory Model for Concurrent Operations
Atomic Memory Ordering Constraints
Fast-Math Flags
Type System
Void Type
Function Type
First Class Types
Single Value Types
Integer Type
Floating Point Types
X86_mmx Type
Pointer Type
Vector Type
Label Type
Metadata Type
Aggregate Types
Array Type
Structure Type
Opaque Structure Types
Constants
Simple Constants
Complex Constants
Global Variable and Function Addresses
Undefined Values
Poison Values
Addresses of Basic Blocks
Constant Expressions
Other Values
Inline Assembler Expressions
Inline Asm Metadata
Metadata Nodes and Metadata Strings
‘
tbaa
‘ Metadata
‘
tbaa.struct
‘ Metadata
‘
fpmath
‘ Metadata
‘
range
‘ Metadata
‘
llvm.loop
‘
‘
llvm.loop.vectorize
‘ and ‘
llvm.loop.interleave
‘
‘
llvm.loop.interleave.count
‘ Metadata
‘
llvm.loop.vectorize.enable
‘ Metadata
‘
llvm.loop.vectorize.width
‘ Metadata
‘
llvm.mem
‘
‘
llvm.mem.parallel_loop_access
‘ Metadata
Module Flags Metadata
Objective-C Garbage Collection Module Flags Metadata
Automatic Linker Flags Module Flags Metadata
C type width Module Flags Metadata
Intrinsic Global Variables
The ‘
llvm.used
‘ Global Variable
The ‘
llvm.compiler.used
‘ Global Variable
The ‘
llvm.global_ctors
‘ Global Variable
The ‘
llvm.global_dtors
‘ Global Variable
Instruction Reference
Terminator Instructions
‘
ret
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
br
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
switch
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Implementation:
Example:
‘
indirectbr
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Implementation:
Example:
‘
invoke
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
resume
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
unreachable
‘ Instruction
Syntax:
Overview:
Semantics:
Binary Operations
‘
add
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fadd
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
sub
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fsub
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
mul
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fmul
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
udiv
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
sdiv
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fdiv
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
urem
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
srem
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
frem
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Bitwise Binary Operations
‘
shl
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
lshr
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
ashr
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
and
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
or
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
xor
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Vector Operations
‘
extractelement
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
insertelement
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
shufflevector
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Aggregate Operations
‘
extractvalue
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
insertvalue
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Memory Access and Addressing Operations
‘
alloca
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
load
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Examples:
‘
store
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fence
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
cmpxchg
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
atomicrmw
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
getelementptr
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Conversion Operations
‘
trunc
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
zext
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
sext
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fptrunc
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fpext
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fptoui
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fptosi
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
uitofp
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
sitofp
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
ptrtoint
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
inttoptr
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
bitcast
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
addrspacecast
..
to
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Other Operations
‘
icmp
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
fcmp
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
phi
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
select
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
call
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
va_arg
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
‘
landingpad
‘ Instruction
Syntax:
Overview:
Arguments:
Semantics:
Example:
Intrinsic Functions
Variable Argument Handling Intrinsics
‘
llvm.va_start
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.va_end
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.va_copy
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
Accurate Garbage Collection Intrinsics
‘
llvm.gcroot
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.gcread
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.gcwrite
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
Code Generator Intrinsics
‘
llvm.returnaddress
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.frameaddress
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.read_register
‘ and ‘
llvm.write_register
‘ Intrinsics
Syntax:
Overview:
Semantics:
‘
llvm.stacksave
‘ Intrinsic
Syntax:
Overview:
Semantics:
‘
llvm.stackrestore
‘ Intrinsic
Syntax:
Overview:
Semantics:
‘
llvm.prefetch
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.pcmarker
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.readcyclecounter
‘ Intrinsic
Syntax:
Overview:
Semantics:
‘
llvm.clear_cache
‘ Intrinsic
Syntax:
Overview:
Semantics:
Standard C Library Intrinsics
‘
llvm.memcpy
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.memmove
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.memset.*
‘ Intrinsics
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.sqrt.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.powi.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.sin.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.cos.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.pow.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.exp.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.exp2.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.log.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.log10.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.log2.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.fma.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.fabs.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.copysign.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.floor.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.ceil.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.trunc.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.rint.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.nearbyint.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.round.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
Bit Manipulation Intrinsics
‘
llvm.bswap.*
‘ Intrinsics
Syntax:
Overview:
Semantics:
‘
llvm.ctpop.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.ctlz.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics:
‘
llvm.cttz.*
‘ Intrinsic
Syntax:
Overview:
Arguments:
Semantics: