diff options
author | Richard Biener <rguenther@suse.de> | 2015-07-14 07:25:55 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-07-14 07:25:55 +0000 |
commit | 8fdc6c67ad030e6caf88f391eb1deac0ce3679b3 (patch) | |
tree | ccc608c672b2695baf0c2f4456fb027e99928f9e /gcc/gcc.c | |
parent | 67a546ab451541e24dae5c8ecbaf692c8cd89f08 (diff) | |
download | gcc-8fdc6c67ad030e6caf88f391eb1deac0ce3679b3.zip gcc-8fdc6c67ad030e6caf88f391eb1deac0ce3679b3.tar.gz gcc-8fdc6c67ad030e6caf88f391eb1deac0ce3679b3.tar.bz2 |
genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
2015-07-14 Richard Biener <rguenther@suse.de>
* genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
(struct if_expr): New.
(struct with_expr): Likewise.
(is_a_helper): Add helpers for if_expr and with_expr.
(struct simplify): Add simplify_kind enum and member. Remove
ifexpr_vec member.
(simplify::simplify): Adjust.
(lower_commutative): Adjust.
(lower_opt_convert): Likewise.
(lower_cond): Likewise.
(replace_id): Handle with_expr and if_expr.
(lower_for): Adjust.
(dt_simplify::gen_1): New recursive worker, split out from ...
(dt_simplify::gen): ... here. Deal with if and with expansion
recursively.
(capture_info::capture_info): Take context argument
(capture_info::walk_result): Only analyze specific result.
(parser::parse_result): New function.
(parser::parse_simplify): Adjust to parse ifs with then end
else case.
(parser::parse_if): Simplify.
(parser::parse_pattern): Pass down simplify kind.
* match.pd: Convert if structure to new syntax.
From-SVN: r225760
Diffstat (limited to 'gcc/gcc.c')
0 files changed, 0 insertions, 0 deletions