Lines Matching refs:stmt
1137 struct statement *stmt = expr->statement;
1138 int cost = expand_statement(stmt);
1140 if (stmt->type == STMT_EXPRESSION && stmt->expression)
1141 *expr = *stmt->expression;
1203 if (base_type->stmt)
1204 expand_statement(base_type->stmt);
1209 static void expand_return_expression(struct statement *stmt)
1211 expand_expression(stmt->expression);
1214 static int expand_if_statement(struct statement *stmt)
1216 struct expression *expr = stmt->if_conditional;
1228 simple = expr->value ? stmt->if_true : stmt->if_false;
1232 stmt->type = STMT_NONE;
1236 *stmt = *simple;
1240 expand_statement(stmt->if_true);
1241 expand_statement(stmt->if_false);
1245 static int expand_asm_statement(struct statement *stmt)
1250 FOR_EACH_PTR(stmt->asm_outputs, op) {
1254 FOR_EACH_PTR(stmt->asm_inputs, op) {
1271 static int expand_compound(struct statement *stmt)
1276 if (stmt->ret)
1277 expand_symbol(stmt->ret);
1279 last = stmt->args;
1282 FOR_EACH_PTR(stmt->stmts, s) {
1288 if (statements == 1 && !stmt->ret)
1289 *stmt = *last;
1294 static int expand_statement(struct statement *stmt)
1296 if (!stmt)
1299 switch (stmt->type) {
1302 FOR_EACH_PTR(stmt->declaration, sym) {
1309 expand_return_expression(stmt);
1313 return expand_expression(stmt->expression);
1316 return expand_compound(stmt);
1319 return expand_if_statement(stmt);
1322 expand_expression(stmt->iterator_pre_condition);
1323 expand_expression(stmt->iterator_post_condition);
1324 expand_statement(stmt->iterator_pre_statement);
1325 expand_statement(stmt->iterator_statement);
1326 expand_statement(stmt->iterator_post_statement);
1330 expand_expression(stmt->switch_expression);
1331 expand_statement(stmt->switch_statement);
1335 expand_const_expression(stmt->case_expression, "case statement");
1336 expand_const_expression(stmt->case_to, "case statement");
1337 expand_statement(stmt->case_statement);
1341 expand_statement(stmt->label_statement);
1345 expand_expression(stmt->goto_expression);
1351 expand_asm_statement(stmt);
1354 expand_expression(stmt->expression);
1357 expand_expression(stmt->range_expression);
1358 expand_expression(stmt->range_low);
1359 expand_expression(stmt->range_high);