10 #ifndef CPROVER_UTIL_SSA_EXPR_H 11 #define CPROVER_UTIL_SSA_EXPR_H 22 set(ID_C_SSA_symbol,
true);
31 set(ID_C_SSA_symbol,
true);
32 add(ID_expression, expr);
43 return static_cast<const exprt &
>(
find(ID_expression));
59 root.
set(ID_L0,
get(ID_L0));
60 root.set(ID_L1,
get(ID_L1));
61 root.update_identifier();
73 return get(ID_L1_object_identifier);
130 set(ID_L1_object_identifier, idpair.second);
152 assert(expr.
id()==ID_symbol &&
155 return static_cast<const ssa_exprt &
>(expr);
163 assert(expr.
id()==ID_symbol &&
171 return expr.
id()==ID_symbol &&
175 #endif // CPROVER_UTIL_SSA_EXPR_H const ssa_exprt get_l1_object() const
ssa_exprt(const exprt &expr)
Constructor.
void set_level_1(unsigned i)
const irep_idt & get_identifier() const
const exprt & root_object() const
static std::pair< irep_idt, irep_idt > build_identifier(const exprt &src, const irep_idt &l0, const irep_idt &l1, const irep_idt &l2)
void set_level_2(unsigned i)
bool get_bool(const irep_namet &name) const
const irep_idt get_l1_object_identifier() const
const irep_idt get_level_1() const
const irep_idt & id() const
void set_level_0(unsigned i)
const ssa_exprt & to_ssa_expr(const exprt &expr)
Cast a generic exprt to an ssa_exprt.
API to expression classes.
const irep_idt get_original_name() const
split an expression into a base object and a (byte) offset
const irep_idt get_level_0() const
bool has_operands() const
Base class for all expressions.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
irep_idt get_object_name() const
const exprt & get_original_expr() const
bool is_ssa_expr(const exprt &expr)
irept & add(const irep_namet &name)
void set_identifier(const irep_idt &identifier)
Expression to hold a symbol (variable)
const irep_idt get_level_2() const
Expression providing an SSA-renamed symbol of expressions.
const irept & find(const irep_namet &name) const
void set(const irep_namet &name, const irep_idt &value)