Expand description
This module is a big set of primitive operations and builtins which are implemented over the crate::ir::Val type. Most are not exported directly but instead are exposed via the Primops struct which contains all the primops. During initialization (via the crate::init module) textual references to primops in the IR are replaced with direct function pointers to their implementation in this module. The Unary, Binary, and Variadic types are function pointers to unary, binary, and other primops, which are contained within Primops.
Structs§
Functions§
- binary_
primops - length_
bits - Return the length of a concrete or symbolic bitvector, or return ExecError::Type if the argument value is not a bitvector.
- sign_
extend - smt_i64
- smt_
i128 - smt_
sbits - smt_u8
- smt_
value - Convert base values into SMT equivalents.
- subrange_
internal - unary_
primops - variadic_
primops - vector_
update vector_updateis a special case ofset_slicewhere the update is a bitvector of length 1. It can also update ordinary (non bit-) vectors.- zero_
extend