Struct llhd::ir::InstBuilder[][src]

pub struct InstBuilder<'a, 'b> { /* fields omitted */ }
Expand description

A temporary object used to construct a single instruction.

Implementations

Create a new instruction builder that inserts into builder.

Assign a name to the instruction being built.

Construct the zero value for a type.

This is a convenience function that creates the appropriate instruction sequence to generate the given zero value. Note that arrays and structs emit multiple instructions.

Construct the given value for int type.

This is a convenience function that creates the appropriate instruction sequence to generate the given value for int type.

Construct the given value for time type.

This is a convenience function that creates the appropriate instruction sequence to generate the given value for int type.

Creates alias instruction to assign a new name to a value.

Creates array instruction to generate array of a given size with all elements of given value.

Creates array instruction to generate array from a vector of similar type of Values.

Creates struct instruction to generate struct from a vector of different types of Values.

Creates not instruction to generate inverse of a given Value.

Creates neg instruction to compute two’s compliment of the given Value.

Creates add instruction to sum two given Value’s.

Creates sub instruction to substract the two given Value’s.

Creates and instruction to compute bitwise AND of the given two Value’s.

Creates or instruction to compute bitwise OR of the given two Value’s.

Creates xor instruction to compute bitwise XOR of the given two Value’s.

Creates smul instruction to compute signed binary multiplication.

Creates sdiv instruction to compute signed binary division

Creates smod instruction to compute signed binary modulus of a given Value when divided by the other

Creates srem instruction to compute signed binary reminder of the given Value when divided by the other

Creates smul instruction to compute unsigned binary multiplication

Creates sdiv instruction to compute unsigned binary division of a given Value with the other

Creates umod instruction to compute unsigned binary modulus of a given Value when divided by the other

Creates urem instruction to compute unsigned binary reminder of the given Value when divided by the other

Creates eq instruction to check for equality of the given Value’s

Creates neq instruction to check for unequality of the given Value’s

Creates slt instruction to check if a given Value, as signed, is less than the other

Creates sgt instruction to check if a given Value, as signed, is greater than the other

Creates sle instruction to check if a given Value, as signed, is less than or equal to the other

Creates sge instruction to check if a given Value, as signed, is greater than or equal to the other

Creates ult instruction to check if a given Value, as unsigned, is less than the other

Creates ugt instruction to check if a given Value, as unsigned, is greater than the other

Creates ule instruction to check if a given Value, as unsigned, is less than or equal to the other

Creates uge instruction to check if a given Value, as unsigned, is greater than or equal the other

Creates shl instruction to shift a given Value to the left by the given amount from a hidden Value

Creates shr instruction to shift a given Value to the right by the given amount from a hidden Value

Creates mux instruction to choose a Value from a given array of Values based on a given selector Value

Creates reg instruction to provide a storage element which drives it output onto a signal

Creates insf instruction to insert a field or element or bit in a given array or struct or integer, respectively, at an index

Creates inss instruction to insert a slice of array element or integer bits in a given array or integer, respectively, in a range of indexes

Creates extf instruction to extract a field or element or bit from a given array or struct or integer, respectively, at an index

Creates exts instruction to extract a slice of array element or integer bits from a given array or integer, respectively, in a range of indexes

Creates con instruction to connect two signals

Creates del instruction to delay a signal source by a delay

Creates call instruction to transfer control to a function and yield its return value

Creates inst instruction to instantiates a proces or entity within the current one

Creates sig instruction to allocate a signal

Creates prb instruction to probe the current value of a signal

Creates drv instruction to shedule signal value to change after a delay

Creates drv_cond instruction to shedule signal value to change after a delay if given condition is satisfied

Creates var instruction to allocate memory on stack with the initial value and returns a pointer to that location

Creates ld instruction to load a value from a memory location pointer

Creates st instruction to store a value to a memory location pointer

Creates halt instruction to terminate an execution of a process

Creates ret instruction to return from a void function

Creates ret instruction to return from a void function and returns a value

Creates phi instruction to implement phi node in SSA graph representing the function or process

Creates br instruction to transfer control to another basic block

Creates br instruction to transfer control to another basic block, between two blocks, based on the given condition

Creates wait instruction to suspend execution of a process until any of the observed signals change

Creates wait instruction to suspend execution of a process until any of the observed signals change or a fixed time interval has passed

Fundamental convenience forwards to the wrapped builder.

Assign another value’s name plus a suffix to the instruction being built.

If value has a name, the instruction’s name will be <value>.<suffix>. Otherwise it will just be <suffix>.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.