v->gvn_source = undefined->gvn_source;
}
}
-/*
-void shader::transfer_pins(vvec& vv, vvec &sv) {
- vvec::iterator SI = sv.begin();
- for (vvec::iterator I = vv.begin(), E = vv.end(); I != E; ++I, ++SI) {
- value *v = *I;
- value *sv = *SI;
-
- v->pin_gpr = sv->pin_gpr;
- if (sv->is_chan_pinned()) {
- v->flags |= VLF_PIN_CHAN;
- sv->flags &= ~VLF_PIN_CHAN;
- }
- if (sv->is_reg_pinned()) {
- v->flags |= VLF_PIN_REG;
- sv->flags &= ~VLF_PIN_REG;
- }
- }
-}
-*/
value* shader::create_value(value_kind k, sel_chan regid, unsigned ver) {
value *v = val_pool.create(k, regid, ver);
return v;
all_nodes.push_back(n);
return n;
}
-/*
-void shader::prepare_regs(unsigned cnt) {
- assert(!prep_regs_count);
- for (unsigned i = 0; i < cnt*4; ++i) {
- value *v = create_value(VLK_REG, i + 1, 0);
- assert (v->uid == i + 1);
- }
-
- prep_regs_count = cnt;
-}
-*/
value* shader::get_special_ro_value(unsigned sel) {
return get_ro_value(special_ro_values, VLK_PARAM, sel);
}
value *get_undef_value();
void set_undef(val_set &s);
- void transfer_pins(vvec& vv, vvec &sv);
-
node* create_node(node_type nt, node_subtype nst,
node_flags flags = NF_EMPTY);
alu_node* create_alu();
if_node* create_if();
bb_node* create_bb(unsigned id, unsigned loop_level);
- void prepare_regs(unsigned cnt);
-
value* get_value_by_uid(unsigned id) { return val_pool[id - 1]; }
cf_node* create_clause(node_subtype nst);