GCC Middle and Back End API Reference
|
Public Types | |
enum | dt_type { DT_NODE , DT_OPERAND , DT_TRUE , DT_MATCH , DT_SIMPLIFY } |
Data Fields | |
operand * | op |
dt_operand * | match_dop |
unsigned | pos |
bool | value_match |
unsigned | for_id |
enum dt_type | type |
unsigned | level |
dt_node * | parent |
vec< dt_node * > | kids |
unsigned | num_leafs |
unsigned | total_size |
unsigned | max_level |
Generic decision tree node used for DT_OPERAND, DT_MATCH and DT_TRUE.
|
inherited |
|
inline |
|
inherited |
Analyze the node and its children.
References ggc_alloc(), i, dt_simplify::info, map, MAX, NULL, sinfo::s, and si.
|
inherited |
Append a DT_MATCH decision tree node.
References ggc_alloc().
Referenced by decision_tree::insert_operand().
Append N to the decision tree if it there is not already an existing identical child.
References decision_tree::find_node(), ggc_alloc(), and dt_node::level.
Append OP to the decision tree.
References ggc_alloc().
Referenced by decision_tree::insert_operand().
|
inherited |
Append S to the decision tree.
References ggc_alloc(), i, operand::location, simplify::match, print_operand(), verbose, and warning_at().
Referenced by decision_tree::insert().
Append a DT_TRUE decision tree node.
References ggc_alloc().
Referenced by decision_tree::insert_operand().
Generate matching code for the decision tree operand.
Reimplemented from dt_node.
References fprintf_indent(), gcc_unreachable, get_name(), ggc_alloc(), i, operand::OP_EXPR, and operand::OP_PREDICATE.
Generate GENERIC matching code for the decision tree operand.
References id_base::CODE, fprintf_indent(), ggc_alloc(), i, expr::operation, and expr::ops.
Generate GIMPLE matching code for the decision tree operand.
References id_base::CODE, commutative_op(), fprintf_indent(), get_name(), ggc_alloc(), i, expr::is_generic, expr::operation, and expr::ops.
Generate matching code for the children of the decision tree node.
References dt_node::DT_MATCH, dt_node::DT_OPERAND, dt_node::DT_SIMPLIFY, dt_node::DT_TRUE, id_base::FN, fns_cmp(), gcc_unreachable, ggc_alloc(), i, op, operand::OP_PREDICATE, id_base::PREDICATE, user_id::substitutes, and operand::type.
Referenced by write_predicate().
|
inherited |
Generate matching code for the children of the decision tree node.
References id_base::FN, fprintf_indent(), gcc_assert, ggc_alloc(), i, id_base::id, id_base::kind, id_base::nargs, NULL, expr::operation, and expr::ops.
Generate matching code for the decision tree operand which is a capture-match.
References fprintf_indent(), and ggc_alloc().
Fill NAME with the operand name at position POS.
References ggc_alloc().
Generate matching code for the decision tree operand which is a predicate.
References fprintf_indent(), ggc_alloc(), id_base::id, predicate_id::matchers, and predicate::p.
Return the name of the operand representing the decision tree node. Use NAME as space to generate it.
References dt_node::DT_MATCH, and ggc_alloc().
unsigned dt_operand::for_id |
Referenced by decision_tree::insert_operand(), and decision_tree::print_node().
|
inherited |
Referenced by dt_node::append_node(), and decision_tree::print_node().
dt_operand* dt_operand::match_dop |
|
inherited |
|
inherited |
operand* dt_operand::op |
Referenced by fns_cmp(), and dt_node::gen_kids().
|
inherited |
Referenced by decision_tree::print_node().
unsigned dt_operand::pos |
|
inherited |
Referenced by decision_tree::cmp_node(), decision_tree::find_node(), and decision_tree::print_node().
bool dt_operand::value_match |
Referenced by decision_tree::insert_operand().