pub enum RuntimeSymbol {
Show 30 variants
Malloc,
Free,
Exit,
Memcpy,
Memmove,
Memset,
Divti3,
Udivti3,
Modti3,
Umodti3,
Divdi3,
Udivdi3,
Moddi3,
Umoddi3,
Floatdidf,
Floatundidf,
Floatdisf,
Floatundisf,
Fixdfdi,
Fixunsdfdi,
Fixsfdi,
Fixunssfdi,
Floattidf,
Floatuntidf,
Fixdfti,
Fixunsdfti,
Floattisf,
Floatuntisf,
Fixsfti,
Fixunssfti,
}Expand description
Runtime helpers the compiler calls by name.
Each variant names a C symbol. Emission sites use the variant, never a string
literal, so LAMINA_BUILTINS can retarget every one of them.
Variants§
Malloc
Free
Exit
Memcpy
Memmove
Memset
Divti3
compiler-rt __divti3: 128-bit integer arithmetic and conversion, called by i128 lowering.
Udivti3
compiler-rt __udivti3: 128-bit integer arithmetic and conversion, called by i128 lowering.
Modti3
compiler-rt __modti3: 128-bit integer arithmetic and conversion, called by i128 lowering.
Umodti3
compiler-rt __umodti3: 128-bit integer arithmetic and conversion, called by i128 lowering.
Divdi3
compiler-rt __divdi3: 64-bit signed division, called when a 32-bit target splits an i64.
Udivdi3
compiler-rt __udivdi3: 64-bit unsigned division, called when a 32-bit target splits an i64.
Moddi3
compiler-rt __moddi3: 64-bit signed remainder, called when a 32-bit target splits an i64.
Umoddi3
compiler-rt __umoddi3: 64-bit unsigned remainder, called when a 32-bit target splits an i64.
Floatdidf
compiler-rt __floatdidf: 64-bit integer to double, called when a 32-bit target splits an i64.
Floatundidf
compiler-rt __floatundidf: 64-bit unsigned to double, called when a 32-bit target splits an i64.
Floatdisf
compiler-rt __floatdisf: 64-bit integer to float, called when a 32-bit target splits an i64.
Floatundisf
compiler-rt __floatundisf: 64-bit unsigned to float, called when a 32-bit target splits an i64.
Fixdfdi
compiler-rt __fixdfdi: double to 64-bit integer, called when a 32-bit target splits an i64.
Fixunsdfdi
compiler-rt __fixunsdfdi: double to 64-bit unsigned, called when a 32-bit target splits an i64.
Fixsfdi
compiler-rt __fixsfdi: float to 64-bit integer, called when a 32-bit target splits an i64.
Fixunssfdi
compiler-rt __fixunssfdi: float to 64-bit unsigned, called when a 32-bit target splits an i64.
Floattidf
compiler-rt __floattidf: 128-bit integer arithmetic and conversion, called by i128 lowering.
Floatuntidf
compiler-rt __floatuntidf: 128-bit integer arithmetic and conversion, called by i128 lowering.
Fixdfti
compiler-rt __fixdfti: 128-bit integer arithmetic and conversion, called by i128 lowering.
Fixunsdfti
compiler-rt __fixunsdfti: 128-bit integer arithmetic and conversion, called by i128 lowering.
Floattisf
compiler-rt __floattisf: 128-bit integer arithmetic and conversion, called by i128 lowering.
Floatuntisf
compiler-rt __floatuntisf: 128-bit integer arithmetic and conversion, called by i128 lowering.
Fixsfti
compiler-rt __fixsfti: 128-bit integer arithmetic and conversion, called by i128 lowering.
Fixunssfti
compiler-rt __fixunssfti: 128-bit integer arithmetic and conversion, called by i128 lowering.
Implementations§
Source§impl RuntimeSymbol
impl RuntimeSymbol
pub const ALL: [RuntimeSymbol; 30]
Sourcepub fn from_c_name(name: &str) -> Option<Self>
pub fn from_c_name(name: &str) -> Option<Self>
Looks up a symbol by its C name, as MIR call sites spell it.
Sourcepub fn from_builtin_name(name: &str) -> Option<Self>
pub fn from_builtin_name(name: &str) -> Option<Self>
Looks up a symbol by a LAMINA_BUILTINS key or builtin name.
Accepts the C name plus the legacy key dealloc (free).