GCC Middle and Back End API Reference
|
Public Member Functions | |
void | insert (class simplify *, unsigned) |
void | gen (vec< FILE * > &f, bool gimple) |
void | print (FILE *f=stderr) |
decision_tree () | |
Static Public Member Functions | |
static dt_node * | insert_operand (dt_node *, operand *, dt_operand **indexes, unsigned pos=0, dt_node *parent=0) |
static dt_node * | find_node (vec< dt_node * > &, dt_node *) |
static bool | cmp_node (dt_node *, dt_node *) |
static void | print_node (dt_node *, FILE *f=stderr, unsigned=0) |
Data Fields | |
dt_node * | root |
A container for the actual decision tree.
|
inline |
References dt_node::DT_NODE, and NULL.
Compare two decision tree nodes N1 and N2 and return true if they are equal.
References as_a(), cmp_operand(), dt_node::DT_MATCH, dt_node::DT_OPERAND, dt_node::DT_TRUE, and dt_node::type.
Referenced by find_node().
Search OPS for a decision tree node like P and return it if found.
References as_a(), cmp_node(), current_id, dt_node::DT_OPERAND, dt_node::DT_TRUE, dt_operand::for_id, i, operand::location, NULL, dt_operand::op, dt_node::type, verbose, and warning_at().
Referenced by dt_node::append_node(), and insert_operand().
Main entry to generate code for matching GIMPLE IL off the decision tree.
References choose_output(), sinfo::cnt, id_base::CODE, sinfo::fname, simplify::for_subst_vec, fp_decl(), fp_decl_done(), fprintf_indent(), dt_simplify::gen_1(), dt_node::gen_kids(), i, id_base::id, is_a(), id_base::kind, operand::location, simplify::match, dt_operand::op, expr::operation, expr::ops, output_line_directive(), simplify::result, dt_simplify::s, sinfo::s, si, and verbose.
Referenced by main().
void decision_tree::insert | ( | class simplify * | s, |
unsigned | pattern_no ) |
Insert S into the decision tree.
References dt_node::append_simplify(), simplify::capture_max, current_id, simplify::id, insert_operand(), and simplify::match.
Referenced by main().
|
static |
Insert O into the decision tree and return the decision tree node found or created.
References dt_node::append_match_op(), dt_node::append_op(), dt_node::append_true_op(), as_a(), dt_node::DT_MATCH, dt_node::DT_OPERAND, dt_node::DT_TRUE, dyn_cast(), find_node(), gcc_assert, i, insert_operand(), is_a(), dt_node::kids, expr::ops, dt_node::type, and dt_operand::value_match.
Referenced by insert(), and insert_operand().
DEBUG_FUNCTION void decision_tree::print | ( | FILE * | f = stderr | ) |
References print_node().
Referenced by main().
|
static |
Debug functions to dump the decision tree.
References as_a(), simplify::capture_max, dt_node::DT_MATCH, dt_node::DT_NODE, dt_node::DT_OPERAND, dt_node::DT_SIMPLIFY, dt_node::DT_TRUE, i, dt_simplify::indexes, is_a(), dt_node::kids, dt_node::level, dt_operand::op, dt_node::parent, dt_simplify::pattern_no, print_node(), print_operand(), dt_simplify::s, and dt_node::type.
Referenced by print(), and print_node().
dt_node* decision_tree::root |
Referenced by write_predicate().