An instruction of the form v = (unop) s. More...
#include <Unop.h>
Public Member Functions | |
Unop (Variable *v, Symbol *s, il::unop_type unop, il::node *original, int line) | |
virtual string | to_string () const |
virtual string | to_string (bool pretty_print) const |
virtual Variable * | get_lhs () |
virtual void | set_lhs (Variable *v) |
Symbol * | get_operand () |
il::unop_type | get_unop () |
virtual bool | is_removable () |
Friends | |
class | boost::serialization::access |
An instruction of the form v = (unop) s.
The unop is defined in il::unop_expression, but the low-level language only contains a subset of the unops defined in il::unop_expression. For instance, pre and post increments are not allowed to appear at the low-level representation.
bool sail::Unop::is_removable | ( | ) | [virtual] |
An instruction is removable if it's not present in the original source code, but introduced in the translation from the high-level language to the low-level language. For instance, if **x is an expression used in the original code, the low-level language will introduce a temporary t=*x; such instructions are "removable" for printing purposes.
Implements sail::Instruction.