nvc0: store only one value per basic block for TGSI regs
This commit is contained in:
@@ -63,7 +63,13 @@ bld_register_access(struct bld_register *reg, unsigned i)
|
||||
static INLINE void
|
||||
bld_register_add_val(struct bld_register *reg, struct nv_value *val)
|
||||
{
|
||||
util_dynarray_append(®->vals, struct nv_value *, val);
|
||||
struct nv_basic_block *bb = val->insn->bb;
|
||||
|
||||
if (reg->vals.size &&
|
||||
(util_dynarray_top(®->vals, struct nv_value *))->insn->bb == bb)
|
||||
*(util_dynarray_top_ptr(®->vals, struct nv_value *)) = val;
|
||||
else
|
||||
util_dynarray_append(®->vals, struct nv_value *, val);
|
||||
}
|
||||
|
||||
static INLINE boolean
|
||||
|
||||
Reference in New Issue
Block a user