• Home
  • Raw
  • Download

Lines Matching refs:reg

67 scan_register_key(const scan_register *reg)  in scan_register_key()  argument
69 unsigned key = reg->file; in scan_register_key()
70 key |= (reg->indices[0] << 4); in scan_register_key()
71 key |= (reg->indices[1] << 18); in scan_register_key()
77 fill_scan_register1d(scan_register *reg, in fill_scan_register1d() argument
80 reg->file = file; in fill_scan_register1d()
81 reg->dimensions = 1; in fill_scan_register1d()
82 reg->indices[0] = index; in fill_scan_register1d()
83 reg->indices[1] = 0; in fill_scan_register1d()
87 fill_scan_register2d(scan_register *reg, in fill_scan_register2d() argument
90 reg->file = file; in fill_scan_register2d()
91 reg->dimensions = 2; in fill_scan_register2d()
92 reg->indices[0] = index1; in fill_scan_register2d()
93 reg->indices[1] = index2; in fill_scan_register2d()
97 scan_register_dst(scan_register *reg, in scan_register_dst() argument
103 fill_scan_register2d(reg, in scan_register_dst()
108 fill_scan_register1d(reg, in scan_register_dst()
115 scan_register_src(scan_register *reg, in scan_register_src() argument
121 fill_scan_register2d(reg, in scan_register_src()
126 fill_scan_register1d(reg, in scan_register_src()
135 scan_register *reg = MALLOC(sizeof(scan_register)); in create_scan_register_src() local
136 scan_register_src(reg, src); in create_scan_register_src()
138 return reg; in create_scan_register_src()
144 scan_register *reg = MALLOC(sizeof(scan_register)); in create_scan_register_dst() local
145 scan_register_dst(reg, dst); in create_scan_register_dst()
147 return reg; in create_scan_register_dst()
203 const scan_register *reg) in is_register_declared() argument
206 ctx->regs_decl, scan_register_key(reg), in is_register_declared()
207 (void*)reg, sizeof(scan_register)); in is_register_declared()
220 scan_register *reg = (scan_register *)cso_hash_iter_data(iter); in is_any_register_declared() local
221 if (reg->file == file) in is_any_register_declared()
232 scan_register *reg) in is_register_used() argument
235 ctx->regs_used, scan_register_key(reg), in is_register_used()
236 reg, sizeof(scan_register)); in is_register_used()
244 scan_register *reg) in is_ind_register_used() argument
246 return cso_hash_contains(ctx->regs_ind_used, reg->file); in is_ind_register_used()
267 scan_register *reg, in check_register_usage() argument
271 if (!check_file_name( ctx, reg->file )) { in check_register_usage()
272 FREE(reg); in check_register_usage()
279 reg->indices[0] = 0; in check_register_usage()
280 reg->indices[1] = 0; in check_register_usage()
281 if (!is_any_register_declared( ctx, reg->file )) in check_register_usage()
282 report_error( ctx, "%s: Undeclared %s register", file_names[reg->file], name ); in check_register_usage()
283 if (!is_ind_register_used(ctx, reg)) in check_register_usage()
284 cso_hash_insert(ctx->regs_ind_used, reg->file, reg); in check_register_usage()
286 FREE(reg); in check_register_usage()
289 if (!is_register_declared( ctx, reg )) { in check_register_usage()
290 if (reg->dimensions == 2) { in check_register_usage()
291 report_error( ctx, "%s[%d][%d]: Undeclared %s register", file_names[reg->file], in check_register_usage()
292 reg->indices[0], reg->indices[1], name ); in check_register_usage()
295 report_error( ctx, "%s[%d]: Undeclared %s register", file_names[reg->file], in check_register_usage()
296 reg->indices[0], name ); in check_register_usage()
299 if (!is_register_used( ctx, reg )) in check_register_usage()
300 cso_hash_insert(ctx->regs_used, scan_register_key(reg), reg); in check_register_usage()
302 FREE(reg); in check_register_usage()
340 scan_register *reg = create_scan_register_dst(&inst->Dst[i]); in iter_instruction() local
343 reg, in iter_instruction()
351 scan_register *reg = create_scan_register_src(&inst->Src[i]); in iter_instruction() local
354 reg, in iter_instruction()
378 scan_register *reg) in check_and_declare() argument
380 if (is_register_declared( ctx, reg)) in check_and_declare()
382 file_names[reg->file], reg->indices[0] ); in check_and_declare()
384 scan_register_key(reg), in check_and_declare()
385 reg); in check_and_declare()
422 scan_register *reg = MALLOC(sizeof(scan_register)); in iter_declaration() local
423 fill_scan_register2d(reg, file, i, vert); in iter_declaration()
424 check_and_declare(ctx, reg); in iter_declaration()
430 scan_register *reg = MALLOC(sizeof(scan_register)); in iter_declaration() local
431 fill_scan_register2d(reg, file, i, vert); in iter_declaration()
432 check_and_declare(ctx, reg); in iter_declaration()
435 scan_register *reg = MALLOC(sizeof(scan_register)); in iter_declaration() local
437 fill_scan_register2d(reg, file, i, decl->Dim.Index2D); in iter_declaration()
439 fill_scan_register1d(reg, file, i); in iter_declaration()
441 check_and_declare(ctx, reg); in iter_declaration()
454 scan_register *reg; in iter_immediate() local
463 reg = MALLOC(sizeof(scan_register)); in iter_immediate()
464 fill_scan_register1d(reg, TGSI_FILE_IMMEDIATE, ctx->num_imms); in iter_immediate()
465 cso_hash_insert(ctx->regs_decl, scan_register_key(reg), reg); in iter_immediate()
527 scan_register *reg = (scan_register *)cso_hash_iter_data(iter); in epilog() local
528 if (!is_register_used(ctx, reg) && !is_ind_register_used(ctx, reg)) { in epilog()
530 file_names[reg->file], reg->indices[0] ); in epilog()
549 scan_register *reg = (scan_register *)cso_hash_iter_data(iter); in regs_hash_destroy() local
551 assert(reg->file < TGSI_FILE_COUNT); in regs_hash_destroy()
552 FREE(reg); in regs_hash_destroy()