nv50/ir: Add support for removing functions from a program.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 14 Nov 2011 23:18:28 +0000 (00:18 +0100)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sat, 14 Apr 2012 19:54:01 +0000 (21:54 +0200)
src/gallium/drivers/nv50/codegen/nv50_ir.h
src/gallium/drivers/nv50/codegen/nv50_ir_bb.cpp

index e803a8b7b7a200fe8f5091bd525ee28ba58c25a8..25e729eb5d409b39eeefbcf952739cf6c7ac8cc1 100644 (file)
@@ -1001,6 +1001,7 @@ public:
    Type getType() const { return progType; }
 
    inline void add(Function *fn, int& id) { allFuncs.insert(fn, id); }
+   inline void del(Function *fn, int& id) { allFuncs.remove(id); }
    inline void add(Value *rval, int& id) { allRValues.insert(rval, id); }
 
    bool makeFromTGSI(struct nv50_ir_prog_info *);
index 5a76558863c9341d6d4e635619f4aa1f96a33ad9..8854247db8bbfeac60b1fcb88bf10a58831764fb 100644 (file)
@@ -45,6 +45,8 @@ Function::Function(Program *p, const char *fnName)
 
 Function::~Function()
 {
+   prog->del(this, id);
+
    if (domTree)
       delete domTree;
    if (bbArray)