GCC Middle and Back End API Reference
|
Data Structures | |
struct | cinfo |
Public Member Functions | |
capture_info (simplify *s, operand *, bool) | |
void | walk_match (operand *o, unsigned toplevel_arg, bool, bool) |
bool | walk_result (operand *o, bool, operand *) |
void | walk_c_expr (c_expr *) |
Data Fields | |
auto_vec< cinfo > | info |
unsigned long | force_no_side_effects |
bool | gimple |
For GENERIC we have to take care of wrapping multiple-used expressions with side-effects in save_expr and preserve side-effects of expressions with omit_one_operand. Analyze captures in match, result and with expressions and perform early-outs on the outermost match expression operands for cases we cannot handle.
Analyze captures in S.
References as_a(), simplify::capture_max, force_no_side_effects, gimple, i, info, simplify::kind, simplify::MATCH, simplify::match, expr::operation, expr::ops, simplify::result, walk_match(), and walk_result().
void capture_info::walk_c_expr | ( | c_expr * | e | ) |
Look for captures in the C expr E.
References c_expr::capture_ids, c_expr::code, fatal_at(), hash_map< KeyId, Value, Traits >::get(), get_operator(), gimple, i, info, is_a(), NULL, verbose, and warning_at().
Referenced by walk_result().
void capture_info::walk_match | ( | operand * | o, |
unsigned | toplevel_arg, | ||
bool | conditional_p, | ||
bool | cond_expr_cond_p ) |
Analyze captures in the match expression piece O.
References as_a(), dyn_cast(), fatal_at(), force_no_side_effects, expr::force_single_use, gcc_unreachable, gimple, i, info, is_a(), operand::location, expr::operation, expr::ops, verbose, walk_match(), and warning_at().
Referenced by capture_info(), and walk_match().
Analyze captures in the result expression piece O. Return true if RESULT was visited in one of the children. Only visit non-if/with children if they are rooted on RESULT.
References dyn_cast(), force_no_side_effects, gcc_unreachable, i, info, is_a(), expr::operation, expr::ops, walk_c_expr(), and walk_result().
Referenced by capture_info(), and walk_result().
unsigned long capture_info::force_no_side_effects |
Referenced by capture_info(), compare_op(), dt_simplify::gen_1(), walk_match(), and walk_result().
bool capture_info::gimple |
Referenced by capture_info(), walk_c_expr(), and walk_match().
Referenced by capture_info(), compare_op(), dt_simplify::gen_1(), capture::gen_transform(), walk_c_expr(), walk_match(), and walk_result().