• Home
  • Raw
  • Download

Lines Matching refs:bi_instr

542 } bi_instr;  typedef
545 bi_is_staging_src(const bi_instr *I, unsigned s) in bi_is_staging_src()
577 bi_instr *fma;
578 bi_instr *add;
636 bi_instr *message;
821 bi_remove_instruction(bi_instr *ins) in bi_remove_instruction()
964 list_for_each_entry(bi_instr, v, &(block)->instructions, link)
967 list_for_each_entry_rev(bi_instr, v, &(block)->instructions, link)
970 list_for_each_entry_safe(bi_instr, v, &(block)->instructions, link)
973 list_for_each_entry_safe_rev(bi_instr, v, &(block)->instructions, link)
976 list_for_each_entry_from(bi_instr, v, from, &(block)->instructions, link)
979 list_for_each_entry_from_rev(bi_instr, v, from, &(block)->instructions, link)
1013 for (bi_instr *v = (tuple)->fma ?: (tuple)->add; \
1038 static inline bi_instr *
1039 bi_prev_op(bi_instr *ins) in bi_prev_op()
1041 return list_last_entry(&(ins->link), bi_instr, link); in bi_prev_op()
1044 static inline bi_instr *
1045 bi_next_op(bi_instr *ins) in bi_next_op()
1047 return list_first_entry(&(ins->link), bi_instr, link); in bi_next_op()
1064 bool bi_has_arg(const bi_instr *ins, bi_index arg);
1065 unsigned bi_count_read_registers(const bi_instr *ins, unsigned src);
1066 unsigned bi_count_write_registers(const bi_instr *ins, unsigned dest);
1068 unsigned bi_writemask(const bi_instr *ins, unsigned dest);
1070 bool bi_side_effects(const bi_instr *I);
1073 bool bi_can_replace_with_csel(bi_instr *I);
1074 void bi_replace_mux_with_csel(bi_instr *I, bool must_sign);
1076 void bi_print_instr(const bi_instr *I, FILE *fp);
1085 bool bi_instr_uses_helpers(bi_instr *I);
1108 void bi_lower_opt_instruction(bi_instr *I);
1112 bool bi_can_fma(bi_instr *ins);
1113 bool bi_can_add(bi_instr *ins);
1114 bool bi_must_message(bi_instr *ins);
1115 bool bi_reads_zero(bi_instr *ins);
1116 bool bi_reads_temps(bi_instr *ins, unsigned src);
1117 bool bi_reads_t(bi_instr *ins, unsigned src);
1127 uint32_t bi_fold_constant(bi_instr *I, bool *unsupported);
1133 void bi_liveness_ins_update(uint8_t *live, bi_instr *ins, unsigned max);
1136 uint64_t MUST_CHECK bi_postra_liveness_ins(uint64_t live, bi_instr *ins);
1194 unsigned bi_pack_fma(bi_instr *I,
1199 unsigned bi_pack_add(bi_instr *I,
1218 bi_instr *instr;
1232 bi_before_instr(bi_instr *instr) in bi_before_instr()
1241 bi_after_instr(bi_instr *instr) in bi_after_instr()
1252 bi_instr *I = list_first_entry(&block->instructions, bi_instr, link); in bi_before_nonempty_block()
1270 ATTRIBUTE_RETURNS_NONNULL static inline bi_instr *
1273 bi_instr *instr = tuple->fma ?: tuple->add; in bi_first_instr_in_tuple()
1278 ATTRIBUTE_RETURNS_NONNULL static inline bi_instr *
1284 ATTRIBUTE_RETURNS_NONNULL static inline bi_instr *
1288 bi_instr *instr = tuple.add ?: tuple.fma; in bi_last_instr_in_clause()
1304 for (bi_instr *pos = list_entry(bi_first_instr_in_clause(clause), bi_instr, link); \
1307 pos = list_entry(pos->link.next, bi_instr, link))
1310 for (bi_instr *pos = list_entry(bi_last_instr_in_clause(clause), bi_instr, link); \
1313 pos = list_entry(pos->link.prev, bi_instr, link))
1352 bi_builder_insert(bi_cursor *cursor, bi_instr *I) in bi_builder_insert()