Module isla_lib::primop[][src]

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

Primops

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_update is a special case of set_slice where the update is a bitvector of length 1. It can also update ordinary (non bit-) vectors.

zero_extend

Type Definitions

Binary
Unary
Variadic