Lines Matching refs:expr

91    s_expression *expr = s_expression::read_expression(sx_mem_ctx, src);
92 if (expr == NULL) {
98 scan_for_prototypes(instructions, expr);
103 read_instructions(instructions, expr, NULL);
111 ir_reader::ir_read_error(s_expression *expr, const char *fmt, ...)
127 if (expr != NULL) {
129 expr->print();
135 ir_reader::read_type(s_expression *expr)
141 if (MATCH(expr, pat)) {
151 s_symbol *type_sym = SX_AS_SYMBOL(expr);
153 ir_read_error(expr, "expected <type>");
159 ir_read_error(expr, "invalid type: %s", type_sym->value());
166 ir_reader::scan_for_prototypes(exec_list *instructions, s_expression *expr)
168 s_list *list = SX_AS_LIST(expr);
170 ir_read_error(expr, "Expected (<instruction> ...); found an atom.");
190 ir_reader::read_function(s_expression *expr, bool skip_body)
196 if (!PARTIAL_MATCH(expr, pat)) {
197 ir_read_error(expr, "Expected (function <name> (signature ...) ...)");
211 exec_node *node = ((s_list *) expr)->subexpressions.get_head_raw()->next->next;
226 ir_reader::read_function_sig(ir_function *f, s_expression *expr, bool skip_body)
233 if (!MATCH(expr, pat)) {
234 ir_read_error(expr, "Expected (signature <type> (parameters ...) "
276 ir_read_error(expr, "function `%s' parameter `%s' qualifiers "
282 ir_read_error(expr, "function `%s' return type doesn't "
297 ir_read_error(expr, "function %s redefined", f->name);
310 ir_reader::read_instructions(exec_list *instructions, s_expression *expr,
314 s_list *list = SX_AS_LIST(expr);
316 ir_read_error(expr, "Expected (<instruction> ...); found an atom.");
338 ir_reader::read_instruction(s_expression *expr, ir_loop *loop_ctx)
340 s_symbol *symbol = SX_AS_SYMBOL(expr);
348 s_list *list = SX_AS_LIST(expr);
350 ir_read_error(expr, "Invalid instruction.\n");
356 ir_read_error(expr, "expected instruction tag");
390 ir_reader::read_declaration(s_expression *expr)
397 if (!MATCH(expr, pat)) {
398 ir_read_error(expr, "expected (declare (<qualifiers>) <type> <name>)");
411 ir_read_error(expr, "qualifier list must contain only symbols");
459 ir_read_error(expr, "unknown qualifier: %s", qualifier->value());
472 ir_reader::read_if(s_expression *expr, ir_loop *loop_ctx)
479 if (!MATCH(expr, pat)) {
480 ir_read_error(expr, "expected (if <condition> (<then>...) (<else>...))");
503 ir_reader::read_loop(s_expression *expr)
508 if (!MATCH(expr, loop_pat)) {
509 ir_read_error(expr, "expected (loop <body>)");
525 ir_reader::read_return(s_expression *expr)
531 if (MATCH(expr, return_value_pat)) {
538 } else if (MATCH(expr, return_void_pat)) {
541 ir_read_error(expr, "expected (return <rvalue>) or (return)");
548 ir_reader::read_rvalue(s_expression *expr)
550 s_list *list = SX_AS_LIST(expr);
556 ir_read_error(expr, "expected rvalue tag");
572 ir_read_error(expr, "unrecognized rvalue tag: %s", tag->value());
579 ir_reader::read_assignment(s_expression *expr)
587 if (!MATCH(expr, pat4) && !MATCH(expr, pat5)) {
588 ir_read_error(expr, "expected (assign (<write mask>) <lhs> <rhs>)");
597 ir_read_error(expr, "conditional assignemnts are deprecated");
610 ir_read_error(expr, "invalid write mask: %s", mask_str);
618 ir_read_error(expr, "write mask contains invalid character: %c",
642 ir_read_error(expr, "non-zero write mask required.");
650 ir_reader::read_call(s_expression *expr)
660 if (MATCH(expr, non_void_pat)) {
666 } else if (!MATCH(expr, void_pat)) {
667 ir_read_error(expr, "expected (call <name> [<deref>] (<param> ...))");
684 ir_read_error(expr, "found call to undefined function %s",
692 ir_read_error(expr, "couldn't find matching signature for function "
698 ir_read_error(expr, "call has return value storage but void type");
701 ir_read_error(expr, "call has non-void type but no return value storage");
709 ir_reader::read_expression(s_expression *expr)
716 if (!PARTIAL_MATCH(expr, pat)) {
717 ir_read_error(expr, "expected (expression <type> <operator> "
733 ir_read_error(expr, "invalid operator: %s", s_op->value());
738 int num_operands = (int) ((s_list *) expr)->subexpressions.length() - 3;
742 ir_read_error(expr, "found %d expression operands, expected %d",
760 ir_reader::read_swizzle(s_expression *expr)
766 if (!MATCH(expr, pat)) {
767 ir_read_error(expr, "expected (swiz <swizzle> <rvalue>)");
772 ir_read_error(expr, "expected a valid swizzle; found %s", swiz->value());
783 ir_read_error(expr, "invalid swizzle");
789 ir_reader::read_constant(s_expression *expr)
795 if (!MATCH(expr, pat)) {
796 ir_read_error(expr, "expected (constant <type> (...))");
805 ir_read_error(expr, "expected (constant <type> (...))");
832 foreach_in_list(s_expression, expr, &values->subexpressions) {
839 s_number *value = SX_AS_NUMBER(expr);
846 s_int *value = SX_AS_INT(expr);
882 ir_reader::read_var_ref(s_expression *expr)
887 if (MATCH(expr, var_pat)) {
890 ir_read_error(expr, "undeclared variable: %s", s_var->value());
899 ir_reader::read_dereference(s_expression *expr)
908 ir_dereference_variable *var_ref = read_var_ref(expr);
911 } else if (MATCH(expr, array_pat)) {
924 } else if (MATCH(expr, record_pat)) {
936 ir_reader::read_texture(s_expression *expr)
976 if (MATCH(expr, lod_pattern)) {
978 } else if (MATCH(expr, tex_pattern)) {
980 } else if (MATCH(expr, txb_pattern)) {
982 } else if (MATCH(expr, txd_pattern)) {
984 } else if (MATCH(expr, txf_pattern)) {
986 } else if (MATCH(expr, txf_ms_pattern)) {
988 } else if (MATCH(expr, txs_pattern)) {
990 } else if (MATCH(expr, tg4_pattern)) {
992 } else if (MATCH(expr, query_levels_pattern)) {
994 } else if (MATCH(expr, texture_samples_pattern)) {
996 } else if (MATCH(expr, other_pattern)) {
1164 ir_reader::read_emit_vertex(s_expression *expr)
1170 if (MATCH(expr, pat)) {
1183 ir_reader::read_end_primitive(s_expression *expr)
1189 if (MATCH(expr, pat)) {
1202 ir_reader::read_barrier(s_expression *expr)
1206 if (MATCH(expr, pat)) {