search for: defiterator

Displaying 6 results from an estimated 6 matches for "defiterator".

Did you mean: def_iterator
2017 Aug 19
1
[PATCH] nv50/ra: Only increment DefValue counter if we are going to spill
...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); Value *tmp = NULL; @@ -17...
2014 Sep 01
0
[PATCH] nv50/ir: use unordered_set instead of list to keep track of var defs
...std::list<ValueDef *> defs; + std::tr1::unordered_set<ValueDef *> defs; typedef std::tr1::unordered_set<ValueRef *>::iterator UseIterator; typedef std::tr1::unordered_set<ValueRef *>::const_iterator UseCIterator; - typedef std::list<ValueDef *>::iterator DefIterator; - typedef std::list<ValueDef *>::const_iterator DefCIterator; + typedef std::tr1::unordered_set<ValueDef *>::iterator DefIterator; + typedef std::tr1::unordered_set<ValueDef *>::const_iterator DefCIterator; int id; Storage reg; diff --git a/src/gallium/drivers/nou...
2014 Dec 02
0
[PATCH RESEND] nv50/ir: use unordered_set instead of list to keep track of var defs
...std::list<ValueDef *> defs; + std::tr1::unordered_set<ValueDef *> defs; typedef std::tr1::unordered_set<ValueRef *>::iterator UseIterator; typedef std::tr1::unordered_set<ValueRef *>::const_iterator UseCIterator; - typedef std::list<ValueDef *>::iterator DefIterator; - typedef std::list<ValueDef *>::const_iterator DefCIterator; + typedef std::tr1::unordered_set<ValueDef *>::iterator DefIterator; + typedef std::tr1::unordered_set<ValueDef *>::const_iterator DefCIterator; int id; Storage reg; diff --git a/src/gallium/drivers/nou...
2014 Jul 08
1
[PATCH] nv50/ir: use unordered_set instead of list to keep our instructions in uses
...rator UseIterator; - typedef std::list<ValueRef *>::const_iterator UseCIterator; + typedef std::tr1::unordered_set<ValueRef *>::iterator UseIterator; + typedef std::tr1::unordered_set<ValueRef *>::const_iterator UseCIterator; typedef std::list<ValueDef *>::iterator DefIterator; typedef std::list<ValueDef *>::const_iterator DefCIterator; diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index c162ac4..8d052c5 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++...
2014 Sep 25
0
[PATCH] nv50/ir: avoid deleting pseudo instructions too early
...// 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 (slot->reg.file == FILE_MEMORY_...
2017 Jul 31
1
[RFC PATCH] nv50/ir: allow spilling of def values for constrained MERGES/UNIONS
This lets us spill more values and compile a big shader for Civilization 6. Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> --- src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp index b33d7b4010..f29c8a1a95