X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fnv50%2Fcodegen%2Fnv50_ir_bb.cpp;h=ebfb07a2b3ecbac66f9d6c18ebe750af1a879103;hb=15ce0f76e2e014374a292550505f58da88333fb7;hp=8854247db8bbfeac60b1fcb88bf10a58831764fb;hpb=5e4b2a1a47ca9a173f6419ed2f12c9fba80e757c;p=mesa.git diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_bb.cpp b/src/gallium/drivers/nv50/codegen/nv50_ir_bb.cpp index 8854247db8b..ebfb07a2b3e 100644 --- a/src/gallium/drivers/nv50/codegen/nv50_ir_bb.cpp +++ b/src/gallium/drivers/nv50/codegen/nv50_ir_bb.cpp @@ -24,8 +24,9 @@ namespace nv50_ir { -Function::Function(Program *p, const char *fnName) +Function::Function(Program *p, const char *fnName, uint32_t label) : call(this), + label(label), name(fnName), prog(p) { @@ -40,6 +41,10 @@ Function::Function(Program *p, const char *fnName) binPos = 0; binSize = 0; + stackPtr = NULL; + tlsBase = 0; + tlsSize = 0; + prog->add(this, id); } @@ -404,6 +409,8 @@ Function::setExit(BasicBlock *bb) unsigned int Function::orderInstructions(ArrayList &result) { + result.clear(); + for (IteratorRef it = cfg.iteratorCFG(); !it->end(); it->next()) { BasicBlock *bb = BasicBlock::get(reinterpret_cast(it->get()));