https://llvm.org/docs/LangRef.html
iN
, where n is in 1..=2**23half
, bfloat
, float
, double
, fp128
,
x86_fp80
, ppc_fp128
x86_amx
, x86_mmx
Undef, poison
Terminator instructions
ret
br
switch
indirectbr
invoke
callbr
resume
catchswitch
catchret
cleanupret
unreachable
Unary operations
fneg
Binary operations
add
, fadd
sub
, fsub
mul
, fmul
udiv
, sdiv
, fdiv
urem
, srem
, frem
Bitwise binary operations
shl
lshr
, ashr
and
or
xor
Vector operations
extractelement
insertelement
shufflevector
Aggregate operations
extractvalue
insertvalue
Memory-access and -addressing operations
alloca
load
store
fence
cmpxchg
atomicrmw
getelementptr
Conversion operations
trunc
zext
, sext
fptrunc
fpext
fptoui
, fptosi
uitofp
, sitofp
ptrtoint
inttoptr
bitcast
addrspacecast
Other operations
icmp
fcmp
phi
select
freeze
call
va_arg
landingpad
catchpad
cleanuppad
What is “Extended SSA”?
llvm.ssa.copy
Intrinsicdeclare type @llvm.ssa.copy(type %operand) returned(1) readnone
The first argument is an operand which is used as the returned value.
The
llvm.ssa.copy
intrinsic can be used to attach information to operations by copying them and giving them new names. For example, the PredicateInfo utility uses it to build Extended SSA form, and attach various forms of information to operands that dominate specific uses. It is not meant for general use, only for building temporary renaming forms that require value splits at certain points.
https://llvm.org/docs/LangRef.html#id3353