Microcode class: shift right class. More...
#include <c_micro_shift_right.h>
Public Member Functions | |
c_micro_shift_right (var_sym_index_t input1, var_sym_index_t input2, var_sym_index_t output) | |
Constructor. | |
c_micro_shift_right (const c_micro_shift_right &orig) | |
Copy-constructor. | |
virtual | ~c_micro_shift_right () |
Destructor. | |
void | add_inputs (vector< var_sym_index_t > &inputs) |
Adds all inputs to vector. | |
c_micro * | copy () |
Copy. | |
virtual var_sym_index_t | get_output () |
e_micro_type | get_type () |
Gets type of class. | |
void | optimize_output (const vector< var_sym_index_t > &inputs) |
Optimizes output by removing result variables taht are not referenced as input. | |
bool | perform (c_micro_symbol_table *symbols, c_micro_error *&error, c_module *this_module, const string &debug) |
Performs microcode. | |
void | set_output_must_be_lvalue () |
Protected Attributes | |
bool | output_must_be_lvalue |
If to set l-value flag on an output variable, and if output is not UNSET, report an "l-value needed" error if it is not l-value already; (if applicable; used in cases of assignment operators). | |
Private Attributes | |
var_sym_index_t | input1_ |
Left-hand side variable index. | |
var_sym_index_t | input2_ |
Right-hand side variable index. | |
var_sym_index_t | output_ |
Output variable index. |
Microcode class: shift right class.
Definition at line 62 of file c_micro_shift_right.h.