cprover
|
Introduce LET for common subexpressions. More...
#include <letify.h>
Classes | |
struct | let_count_idt |
Public Member Functions | |
exprt | operator() (const exprt &) |
Protected Types | |
using | seen_expressionst = irep_hash_mapt< exprt, let_count_idt > |
Protected Member Functions | |
void | collect_bindings (const exprt &expr, seen_expressionst &map, std::vector< exprt > &let_order) |
Static Protected Member Functions | |
static exprt | letify (const exprt &expr, const std::vector< exprt > &let_order, const seen_expressionst &map) |
Construct a nested let expression for expressions in let_order that are used more than once. More... | |
static exprt | substitute_let (const exprt &expr, const seen_expressionst &map) |
Protected Attributes | |
std::size_t | let_id_count = 0 |
|
protected |
|
protected |
Definition at line 17 of file letify.cpp.
|
staticprotected |
Construct a nested let expression for expressions in let_order that are used more than once.
Definition at line 54 of file letify.cpp.
Definition at line 80 of file letify.cpp.
|
staticprotected |
Definition at line 90 of file letify.cpp.