diff options
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r-- | gcc/genrecog.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c index 8564b5cc1f1..43afa7f449c 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -368,7 +368,6 @@ process_define_predicate (rtx desc) { struct pred_data *pred = xcalloc (sizeof (struct pred_data), 1); char codes[NUM_RTX_CODE]; - bool seen_one = false; int i; pred->name = XSTR (desc, 0); @@ -379,26 +378,8 @@ process_define_predicate (rtx desc) for (i = 0; i < NUM_RTX_CODE; i++) if (codes[i] != N) - { - pred->codes[i] = true; - if (GET_RTX_CLASS (i) != RTX_CONST_OBJ) - pred->allows_non_const = true; - if (i != REG - && i != SUBREG - && i != MEM - && i != CONCAT - && i != PARALLEL - && i != STRICT_LOW_PART) - pred->allows_non_lvalue = true; - - if (seen_one) - pred->singleton = UNKNOWN; - else - { - pred->singleton = i; - seen_one = true; - } - } + add_predicate_code (pred, i); + add_predicate (pred); } #undef I |