HomeSort by: relevance | last modified time | path
    Searched defs:live (Results 1 - 25 of 91) sorted by relevancy

1 2 3 4

  /xsrc/external/mit/MesaLib/dist/src/amd/compiler/
aco_dead_code_analysis.cpp 41 std::vector<std::vector<bool>> live; member in struct:aco::__anon461::dce_ctx
46 live.reserve(program->blocks.size());
48 live.emplace_back(block.instructions.size());
55 std::vector<bool>& live = ctx.live[block.index]; local
56 assert(live.size() == block.instructions.size());
59 if (live[idx])
71 live[idx] = true;
  /xsrc/external/mit/MesaLib/dist/src/asahi/compiler/
agx_liveness.c 37 agx_liveness_ins_update(BITSET_WORD *live, agx_instr *I)
41 BITSET_CLEAR(live, I->dest[d].value);
46 /* If the source is not live after this instruction, but becomes live
48 I->src[s].kill = !BITSET_TEST(live, I->src[s].value);
49 BITSET_SET(live, I->src[s].value);
66 BITSET_WORD *live = ralloc_array(blk, BITSET_WORD, words); local
67 memcpy(live, blk->live_out, words * sizeof(BITSET_WORD));
70 agx_liveness_ins_update(live, I);
74 progress |= (blk->live_in[i] != live[i])
    [all...]
  /xsrc/external/mit/MesaLib/dist/src/compiler/nir/
nir_remove_dead_variables.c 65 add_var_use_deref(nir_deref_instr *deref, struct set *live)
71 * make them live. Only keep them if they are used by some intrinsic.
89 _mesa_set_add(live, var);
96 add_var_use_shader(nir_shader *shader, struct set *live, nir_variable_mode modes)
103 add_var_use_deref(nir_instr_as_deref(instr), live); local
163 struct set *live, const nir_remove_dead_variables_options *opts)
175 struct set_entry *entry = _mesa_set_search(live, var);
192 struct set *live = _mesa_pointer_set_create(NULL); local
194 add_var_use_shader(shader, live, modes);
198 live, opts) || progress
    [all...]
nir_liveness.c 39 * live range. This is true because the only way that the definition of an
41 * uses in phi no are in the live-out of the corresponding predecessor
42 * block but not in the live-in of the block containing the phi node.
75 BITSET_WORD *live = void_live; local
81 return true; /* undefined variables are never live */
83 BITSET_SET(live, src->ssa->index);
91 BITSET_WORD *live = void_live; local
93 BITSET_CLEAR(live, def->index);
98 /** Propagates the live in of succ across the edge to the live out of pre
111 BITSET_WORD *live = state->tmp_live; local
248 BITSET_WORD *live = ralloc_array(mem_ctx, BITSET_WORD, bitset_words); local
    [all...]
nir_opt_dce.c 115 bool live = is_live(defs_live, instr); local
116 if (live) {
131 instr->pass_flags = live;
132 } else if (!live) {
174 * as we mark the others live.
183 /* Mark instructions as live until there is no more progress. */
  /xsrc/external/mit/MesaLib/dist/src/freedreno/ir3/
ir3_liveness.c 34 * is mainly because phi destinations and live-through values have to be
39 compute_block_liveness(struct ir3_liveness *live, struct ir3_block *block,
42 memcpy(tmp_live, live->live_out[block->index],
74 memcpy(live->live_in[block->index], tmp_live,
81 if (tmp_live[j] & ~live->live_out[pred->index][j])
83 live->live_out[pred->index][j] |= tmp_live[j];
93 if (!BITSET_TEST(live->live_out[pred->index], name)) {
95 BITSET_SET(live->live_out[pred->index], name);
103 BITSET_FOREACH_SET (name, tmp_live, live->definitions_count) {
104 struct ir3_register *reg = live->definitions[name]
120 struct ir3_liveness *live = rzalloc(mem_ctx, struct ir3_liveness); local
    [all...]
  /xsrc/external/mit/MesaLib/dist/src/intel/compiler/
brw_fs_dead_code_eliminate.cpp 82 BITSET_WORD *live = rzalloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars)); local
86 memcpy(live, live_vars.block_data[block->num].liveout,
97 result_live |= BITSET_TEST(live, var + i);
116 BITSET_CLEAR(live, var + i);
134 BITSET_SET(live, var + j);
145 ralloc_free(live);
brw_fs_saturate_propagation.cpp 48 opt_saturate_propagation_local(const fs_live_variables &live, bblock_t *block)
64 int src_var = live.var_from_reg(inst->src[0]);
65 int src_end_ip = live.end[src_var];
154 const fs_live_variables &live = live_analysis.require(); local
158 progress = opt_saturate_propagation_local(live, block) || progress;
161 /* Live intervals are still valid. */
brw_vec4_dead_code_eliminate.cpp 46 BITSET_WORD *live = rzalloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars)); local
50 memcpy(live, live_vars.block_data[block->num].liveout,
63 result_live[c] |= BITSET_TEST(live, v);
146 BITSET_CLEAR(live, v);
167 BITSET_SET(live, v);
181 ralloc_free(live);
brw_fs_cse.cpp 246 fs_visitor::opt_cse_local(const fs_live_variables &live, bblock_t *block, int &ip)
363 if (src_reg->file == VGRF && live.vgrf_end[src_reg->nr] < ip) {
382 const fs_live_variables &live = live_analysis.require(); local
387 progress = opt_cse_local(live, block, ip) || progress;
brw_fs_register_coalesce.cpp 100 can_coalesce_vars(const fs_live_variables &live, const cfg_t *cfg,
104 if (!live.vars_interfere(src_var, dst_var))
107 int dst_start = live.start[dst_var];
108 int dst_end = live.end[dst_var];
109 int src_start = live.start[src_var];
110 int src_end = live.end[src_var];
117 /* Check for a write to either register in the intersection of their live
134 /* Ignore anything before the intersection of the live ranges */
150 * during the intersection of their live ranges. One way to do
154 * where the destination live range is entirely contained in th
194 fs_live_variables &live = live_analysis.require(); local
    [all...]
brw_vec4_cse.cpp 166 vec4_visitor::opt_cse_local(bblock_t *block, const vec4_live_variables &live)
291 if (live.var_range_end(var_from_reg(alloc, dst_reg(*src)), 8) < ip) {
312 const vec4_live_variables &live = live_analysis.require(); local
315 progress = opt_cse_local(block, live) || progress;
brw_vec4_reg_allocate.cpp 166 const vec4_live_variables &live = live_analysis.require(); local
179 if (live.vgrfs_interfere(i, j)) {
206 fail("Failure to register allocate. Reduce number of live "
  /xsrc/external/mit/MesaLib/dist/src/panfrost/util/
pan_liveness.c 33 pan_liveness_gen(uint16_t *live, unsigned node, unsigned max, uint16_t mask)
38 live[node] |= mask;
42 pan_liveness_kill(uint16_t *live, unsigned node, unsigned max, uint16_t mask)
47 live[node] &= ~mask;
51 pan_liveness_get(uint16_t *live, unsigned node, uint16_t max)
56 return live[node];
83 uint16_t *live = ralloc_array(blk, uint16_t, temp_count); local
84 memcpy(live, blk->live_out, temp_count * sizeof(uint16_t));
87 callback(live, (void *) ins, temp_count);
92 progress |= (blk->live_in[i] != live[i])
    [all...]
  /xsrc/external/mit/MesaLib.old/dist/src/compiler/nir/
nir_remove_dead_variables.c 65 add_var_use_deref(nir_deref_instr *deref, struct set *live)
76 _mesa_set_add(live, deref->var);
80 add_var_use_shader(nir_shader *shader, struct set *live, nir_variable_mode modes)
87 add_var_use_deref(nir_instr_as_deref(instr), live); local
95 remove_dead_var_writes(nir_shader *shader, struct set *live)
146 remove_dead_vars(struct exec_list *var_list, struct set *live)
151 struct set_entry *entry = _mesa_set_search(live, var);
167 struct set *live = _mesa_pointer_set_create(NULL); local
169 add_var_use_shader(shader, live, modes);
172 progress = remove_dead_vars(&shader->uniforms, live) || progress
    [all...]
nir_liveness.c 39 * live range. This is true because the only way that the definition of an
41 * uses in phi no are in the live-out of the corresponding predecessor
42 * block but not in the live-in of the block containing the phi node.
88 BITSET_WORD *live = void_live; local
94 return true; /* undefined variables are never live */
96 BITSET_SET(live, src->ssa->live_index);
104 BITSET_WORD *live = void_live; local
106 BITSET_CLEAR(live, def->live_index);
111 /** Propagates the live in of succ across the edge to the live out of pre
    [all...]
  /xsrc/external/mit/MesaLib.old/dist/src/intel/compiler/
brw_fs_dead_code_eliminate.cpp 80 BITSET_WORD *live = rzalloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars)); local
84 memcpy(live, live_intervals->block_data[block->num].liveout,
95 result_live |= BITSET_TEST(live, var + i);
113 BITSET_CLEAR(live, var + i);
131 BITSET_SET(live, var + j);
140 ralloc_free(live);
brw_vec4_dead_code_eliminate.cpp 47 BITSET_WORD *live = rzalloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars)); local
51 memcpy(live, live_intervals->block_data[block->num].liveout,
64 result_live[c] |= BITSET_TEST(live, v);
147 BITSET_CLEAR(live, v);
168 BITSET_SET(live, v);
182 ralloc_free(live);
  /xsrc/external/mit/MesaLib/dist/src/gallium/drivers/lima/ir/pp/
liveness.c 59 * as live registers to the live_in set. */
95 bool live = BITSET_TEST(instr->live_set, index); local
97 /* reg is read, needs to be live before instr */
98 if (live)
109 if (live && (live_mask == (live_mask | mask)))
147 bool live = BITSET_TEST(instr->live_set, index); local
151 * ensure it doesn't get assigned a live register and overwrites it. */
152 if (!live) {
158 /* reg is written and ssa, is not live before instr */
165 * the remaining mask to remove it from the live set *
    [all...]
  /xsrc/external/mit/MesaLib/dist/src/panfrost/bifrost/
bi_liveness.c 35 bi_liveness_ins_update(uint8_t *live, bi_instr *ins, unsigned max)
43 live[node] &= ~bi_writemask(ins, d);
53 live[node] |= mask;
68 uint8_t *live = ralloc_array(blk, uint8_t, temp_count); local
69 memcpy(live, blk->live_out, temp_count);
72 bi_liveness_ins_update(live, (bi_instr *) ins, temp_count);
77 progress |= (blk->live_in[i] != live[i]);
80 blk->live_in = live;
bi_opt_dce.c 39 uint8_t *live = rzalloc_array(block, uint8_t, temp_count); local
43 live[i] |= succ->live_in[i];
52 if (index < temp_count && !(live[index] & bi_writemask(ins, d)))
61 bi_liveness_ins_update(live, ins, temp_count);
65 block->live_in = live;
72 bi_postra_liveness_ins(uint64_t live, bi_instr *ins)
78 live &= ~(BITFIELD64_MASK(nr) << reg);
86 live |= (BITFIELD64_MASK(nr) << reg);
90 return live;
99 uint64_t live = blk->reg_live_out local
160 uint64_t live = block->reg_live_out; local
    [all...]
  /xsrc/external/mit/MesaLib/dist/src/panfrost/midgard/
midgard_opt_dce.c 74 uint16_t *live = mem_dup(block->base.live_out, ctx->temp_count * sizeof(uint16_t)); local
86 unsigned rounded = mir_round_bytemask_up(live[ins->dest], round_size);
93 mir_liveness_ins_update(live, ins, ctx->temp_count);
103 free(live);
112 * live than they actually are, that just reduces the effectiveness of
  /src/games/battlestar/
command6.c 100 live(void) function
  /src/sys/external/bsd/drm2/dist/drm/i915/
i915_selftest.h 40 int live; member in struct:i915_selftest
60 * Live unit tests are run after the driver is loaded - all hardware
  /src/sys/external/bsd/drm2/dist/drm/i915/selftests/
i915_selftest.c 76 int (*live)(struct drm_i915_private *); member in union:selftest::__anon5092
86 #define selftest(n, f) [live_##n] = { .name = #n, { .live = f } },
92 #define selftest(n, f) [perf_##n] = { .name = #n, { .live = f } },
165 err = st->live(data);
210 if (!i915_selftest.live)
213 err = run_selftests(live, pdev_to_i915(pdev));
215 i915_selftest.live = err;
219 if (i915_selftest.live < 0) {
220 i915_selftest.live = -ENOTTY;
411 module_param_named_unsafe(live_selftests, i915_selftest.live, int, 0400)
    [all...]

Completed in 29 milliseconds

1 2 3 4