Lines Matching defs:entry
263 foreach_in_list_use_after(aeb_entry, entry, &aeb) {
265 if (!(entry->generator->dst.is_null() && !inst->dst.is_null()) &&
266 instructions_match(inst, entry->generator, &negate)) {
278 /* Our first sighting of this expression. Create an entry. */
279 aeb_entry *entry = ralloc(cse_ctx, aeb_entry);
280 entry->tmp = reg_undef;
281 entry->generator = inst;
282 aeb.push_tail(entry);
288 bool no_existing_temp = entry->tmp.file == BAD_FILE;
289 if (no_existing_temp && !entry->generator->dst.is_null()) {
290 const fs_builder ibld = fs_builder(this, block, entry->generator)
291 .at(block, entry->generator->next);
292 int written = regs_written(entry->generator);
294 entry->tmp = fs_reg(VGRF, alloc.allocate(written),
295 entry->generator->dst.type);
297 create_copy_instr(ibld, entry->generator, entry->tmp, false);
299 entry->generator->dst = entry->tmp;
304 assert(inst->size_written == entry->generator->size_written);
305 assert(inst->dst.type == entry->tmp.type);
308 create_copy_instr(ibld, inst, entry->tmp, negate);
332 foreach_in_list_safe(aeb_entry, entry, &aeb) {
338 if (entry->generator->flags_read(devinfo) ||
339 (entry->generator->flags_written(devinfo) &&
340 !instructions_match(inst, entry->generator, &negate))) {
341 entry->remove();
342 ralloc_free(entry);
347 for (int i = 0; i < entry->generator->sources; i++) {
348 fs_reg *src_reg = &entry->generator->src[i];
354 entry->generator->src[i],
355 entry->generator->size_read(i))) {
356 entry->remove();
357 ralloc_free(entry);
365 entry->remove();
366 ralloc_free(entry);