search for: to_del

Displaying 3 results from an estimated 3 matches for "to_del".

Did you mean: to_dev
2014 Sep 25
0
[PATCH] nv50/ir: avoid deleting pseudo instructions too early
...nd->asSym() : NULL; + // Keep track of which instructions to delete later. Deleting them + // inside the loop is unsafe since a single instruction may have + // multiple destinations that all need to be spilled (like OP_SPLIT). + std::tr1::unordered_set<Instruction *> to_del; + for (Value::DefIterator d = lval->defs.begin(); d != lval->defs.end(); ++d) { Value *slot = mem ? @@ -1579,7 +1585,7 @@ SpillCodeInserter::run(const std::list<ValuePair>& lst) d = lval->defs.erase(d); --d; if...
2017 Aug 19
1
[PATCH] nv50/ra: Only increment DefValue counter if we are going to spill
...vers/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp @@ -1750,8 +1750,7 @@ SpillCodeInserter::run(const std::list<ValuePair>& lst) // multiple destinations that all need to be spilled (like OP_SPLIT). unordered_set<Instruction *> to_del; - for (Value::DefIterator d = lval->defs.begin(); d != lval->defs.end(); - ++d) { + for (Value::DefIterator d = lval->defs.begin(); d != lval->defs.end();) { Value *slot = mem ? static_cast<Value *>(mem) : new_LValue(func, FILE_GPR);...
2014 Dec 02
0
[PATCH RESEND] nv50/ir: use unordered_set instead of list to keep track of var defs
...lval->join->defs.erase(*d); lval->join = lval; } } @@ -1553,8 +1553,7 @@ SpillCodeInserter::run(const std::list<ValuePair>& lst) // multiple destinations that all need to be spilled (like OP_SPLIT). std::tr1::unordered_set<Instruction *> to_del; - for (Value::DefIterator d = lval->defs.begin(); d != lval->defs.end(); - ++d) { + for (Value::DefIterator d = lval->defs.begin(); d != lval->defs.end();) { Value *slot = mem ? static_cast<Value *>(mem) : new_LValue(func, FILE_GPR);...