Lines Matching refs:ep1
101 static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct expr **ep2) in __expr_eliminate_eq() argument
107 if ((*ep1)->type == type) { in __expr_eliminate_eq()
108 l = (*ep1)->left.expr; in __expr_eliminate_eq()
109 r = (*ep1)->right.expr; in __expr_eliminate_eq()
112 *ep1 = expr_alloc_two(type, l, r); in __expr_eliminate_eq()
118 __expr_eliminate_eq(type, ep1, &l); in __expr_eliminate_eq()
119 __expr_eliminate_eq(type, ep1, &r); in __expr_eliminate_eq()
126 if ((*ep1)->type == E_SYMBOL && (*ep2)->type == E_SYMBOL && in __expr_eliminate_eq()
127 (*ep1)->left.sym == (*ep2)->left.sym && in __expr_eliminate_eq()
128 ((*ep1)->left.sym == &symbol_yes || (*ep1)->left.sym == &symbol_no)) in __expr_eliminate_eq()
130 if (!expr_eq(*ep1, *ep2)) in __expr_eliminate_eq()
138 *ep1 = expr_alloc_symbol(&symbol_no); in __expr_eliminate_eq()
142 *ep1 = expr_alloc_symbol(&symbol_yes); in __expr_eliminate_eq()
179 void expr_eliminate_eq(struct expr **ep1, struct expr **ep2) in expr_eliminate_eq() argument
181 if (!*ep1 || !*ep2) in expr_eliminate_eq()
183 switch ((*ep1)->type) { in expr_eliminate_eq()
186 __expr_eliminate_eq((*ep1)->type, ep1, ep2); in expr_eliminate_eq()
190 if ((*ep1)->type != (*ep2)->type) switch ((*ep2)->type) { in expr_eliminate_eq()
193 __expr_eliminate_eq((*ep2)->type, ep1, ep2); in expr_eliminate_eq()
197 *ep1 = expr_eliminate_yn(*ep1); in expr_eliminate_eq()
479 static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr **ep2) in expr_eliminate_dups1() argument
485 if ((*ep1)->type == type) { in expr_eliminate_dups1()
486 l = (*ep1)->left.expr; in expr_eliminate_dups1()
487 r = (*ep1)->right.expr; in expr_eliminate_dups1()
490 *ep1 = expr_alloc_two(type, l, r); in expr_eliminate_dups1()
496 expr_eliminate_dups1(type, ep1, &l); in expr_eliminate_dups1()
497 expr_eliminate_dups1(type, ep1, &r); in expr_eliminate_dups1()
506 tmp = expr_join_or(*ep1, *ep2); in expr_eliminate_dups1()
508 *ep1 = expr_alloc_symbol(&symbol_no); in expr_eliminate_dups1()
514 tmp = expr_join_and(*ep1, *ep2); in expr_eliminate_dups1()
516 *ep1 = expr_alloc_symbol(&symbol_yes); in expr_eliminate_dups1()