Lines Matching defs:backend

21 #include "backend.h"
26 Gogo::Gogo(Backend* backend, Linemap* linemap, int, int pointer_size)
27 : backend_(backend),
634 // Return the backend variable for the special zero value, or NULL if
654 Btype* barray_type = this->backend()->array_type(bbtype_type, blength);
658 this->backend()->implicit_variable(zname, barray_type, false,
660 this->backend()->implicit_variable_set_init(zvar, zname, barray_type,
700 Bfunction* pfunc = this->backend()->function(fntype, user_name, init_name,
704 this->backend()->function_code_expression(pfunc, unknown_loc);
706 this->backend()->call_expression(pfunc_code, empty_args,
708 init_stmts.push_back(this->backend()->expression_statement(pfunc_call));
815 init_stmts.push_back(this->backend()->expression_statement(bcall));
875 this->backend()->block(fndecl, NULL, vars, pkg_loc, pkg_loc);
877 if (!this->backend()->function_set_body(fndecl, code_stmt))
1303 // If the backend representation of the variable initializer is
1339 this->backend()->global_variable_set_init(bvar, var_binit);
1343 this->backend()->expression_statement(var_binit);
1348 this->backend()->var_expression(bvar, loc);
1350 this->backend()->assignment_statement(var_expr, var_binit,
1379 Bexpression* zero = this->backend()->zero_expression(btype);
1381 this->backend()->expression_statement(zero);
1395 init_stmts.push_back(this->backend()->statement_list(var_init_stmts));
1421 this->backend()->function_code_expression(initfn, func_loc);
1422 Bexpression* call = this->backend()->call_expression(func_code,
1425 init_stmts.push_back(this->backend()->expression_statement(call));
1430 Bstatement* init_fncode = this->backend()->statement_list(init_stmts);
1444 this->backend()->write_global_definitions(type_decls, const_decls,
4400 // Convert all named types to the backend representation. Since named
4966 // Get the backend representation.
5032 // uninlinable. This prevents the GCC backend from splitting
5053 gogo->backend()->function(functype, no->get_id(gogo), asm_name,
5061 // Get the backend representation.
5073 gogo->backend()->lookup_builtin(this->asm_name_);
5099 gogo->backend()->function(functype, no->get_id(gogo), asm_name,
5130 // Build the backend representation for the function code.
5206 init = gogo->backend()->zero_expression(btype);
5216 if (!gogo->backend()->function_set_parameters(this->fndecl_, param_vars))
5239 gogo->backend()->block(this->fndecl_, NULL, vars,
5251 // Build the backend representation for all the statements in the
5262 gogo->backend()->init_statement(vars[i], var_inits[i]);
5267 Bstatement* var_init = gogo->backend()->statement_list(init);
5270 Bstatement* code_stmt = gogo->backend()->block_statement(code_block);
5271 code_stmt = gogo->backend()->compound_statement(var_init, code_stmt);
5285 gogo->backend()->exception_handler_statement(code_stmt,
5295 gogo->backend()->block_add_statements(var_decls, code_stmt_list);
5296 code_stmt = gogo->backend()->block_statement(var_decls);
5299 if (!gogo->backend()->function_set_body(this->fndecl_, code_stmt))
5334 stmts.push_back(gogo->backend()->expression_statement(defer));
5341 *except = gogo->backend()->statement_list(stmts);
5351 gogo->backend()->function_defer_statement(this->fndecl_, undefer, defer,
5367 gogo->backend()->compound_expression(ret_bstmt, nil, end_loc);
5371 ret = gogo->backend()->conditional_expression(NULL, bref, ret, NULL,
5373 stmts.push_back(gogo->backend()->expression_statement(ret));
5377 *fini = gogo->backend()->statement_list(stmts);
5394 return gogo->backend()->error_statement();
5402 Bexpression* val = gogo->backend()->var_expression(bvar, location);
5406 val = gogo->backend()->indirect_expression(bt, val, true, location);
5410 return gogo->backend()->return_statement(this->fndecl_, vals, location);
5617 // Convert a block to the backend representation.
5638 Bblock* ret = context->backend()->block(bfunction, context->bblock(),
5650 context->backend()->block_add_statements(ret, bstatements);
6189 return gogo->backend()->zero_expression(btype);
6222 decl_init = gogo->backend()->expression_statement(init_bexpr);
6230 Bexpression* var_ref = gogo->backend()->var_expression(var_decl, loc);
6231 decl_init = gogo->backend()->assignment_statement(var_ref, val, loc);
6234 Bstatement* block_stmt = gogo->backend()->block_statement(bblock);
6236 block_stmt = gogo->backend()->compound_statement(block_stmt, decl_init);
6265 // Convert a variable to the backend representation.
6273 Backend* backend = gogo->backend();
6278 this->backend_ = backend->error_variable();
6297 bvar = backend->global_variable((package == NULL
6312 bvar = backend->error_variable();
6320 bvar = backend->static_chain_variable(bfunction, n, btype,
6323 bvar = backend->parameter_variable(bfunction, n, btype,
6327 bvar = backend->local_variable(bfunction, n, btype,
6339 // Convert a result variable to the backend representation.
6347 Backend* backend = gogo->backend();
6350 this->backend_ = backend->error_variable();
6360 this->backend_ = backend->local_variable(bfunction, n, btype,
6446 // Get the backend representation.
6464 gogo->backend()->named_constant_expression(btype, name,
6833 // Convert a variable to the backend representation.
6917 // Get the backend representation for this named object.
7449 // Get the backend representation for a label.
7458 this->blabel_ = context->backend()->label(bfunction, this->name_,
7470 return context->backend()->label_address(label, location);
7475 // Get the backend representation for an unnamed label.
7484 this->blabel_ = context->backend()->label(bfunction, "",
7496 return context->backend()->label_definition_statement(blabel);
7505 return context->backend()->goto_statement(blabel, location);