Lines Matching defs:func
215 RegAlloc(Program *program) : prog(program), func(NULL), sequence(0) { }
243 bool exec(Function *func);
277 Function *func;
333 SpillCodeInserter(Function *fn, MergedDefs &mergedDefs) : func(fn), mergedDefs(mergedDefs), stackSize(0), stackBase(0) { }
342 Function *func;
450 pn = new BasicBlock(func);
502 pb->insertTail(new_FlowInstruction(func, OP_BRA, bb));
505 LValue *tmp = new_LValue(func, phi->getDef(0)->asLValue());
506 mov = new_Instruction(func, OP_MOV, typeOfSize(tmp->reg.size));
537 LValue *tmp = new_LValue(func, cal->getSrc(s)->asLValue());
541 new_Instruction(func, OP_MOV, typeOfSize(tmp->reg.size));
551 LValue *tmp = new_LValue(func, cal->getDef(d)->asLValue());
555 new_Instruction(func, OP_MOV, typeOfSize(tmp->reg.size));
569 Value *tmp = new_LValue(func, (*it)->asLValue());
577 if (BasicBlock::get(func->cfgExit) == bb) {
578 func->buildDefSets();
581 func->clobbers.push_back(func->getLValue(i));
598 bb->liveSet.allocate(func->allLValues.getSize(), false);
704 addLiveRange(func->getLValue(j), bb, bb->getExit()->serial + 1);
724 if (bb == BasicBlock::get(func->cfg.getRoot())) {
725 for (std::deque<ValueDef>::iterator it = func->ins.begin();
726 it != func->ins.end(); ++it) {
835 Function *func;
1004 for (ArrayList::Iterator it = func->allLValues.iterator();
1047 switch (func->getProgram()->getTarget()->getChipset() & ~0xf) {
1222 func(fn),
1227 prog = func->getProgram();
1272 for (std::deque<ValueDef>::iterator it = func->ins.begin();
1273 it != func->ins.end(); ++it)
1535 nodeCount = func->allLValues.getSize();
1540 LValue *lval = reinterpret_cast<LValue *>(func->allLValues.get(i));
1584 if (func->getProgram()->dbgFlags & NV50_IR_DEBUG_REG_ALLOC)
1585 func->printLiveIntervals();
1600 func->print();
1616 for (ArrayList::Iterator it = func->allLValues.iterator();
1654 if (!func->stackPtr) {
1658 offsetBase = align(offsetBase + func->tlsBase, size) - func->tlsBase;
1692 slot.sym = new_Symbol(func->getProgram(), FILE_MEMORY_LOCAL);
1693 if (!func->stackPtr)
1694 offset += func->tlsBase;
1707 Value *slot = cloneShallow(func, base);
1726 st = new_Instruction(func, OP_STORE, ty);
1730 st = new_Instruction(func, OP_SPLIT, ty);
1733 st->setDef(d, new_LValue(func, FILE_GPR));
1736 Value *tmp = cloneShallow(func, slot);
1740 Instruction *s = new_Instruction(func, OP_STORE, TYPE_U32);
1747 st = new_Instruction(func, OP_CVT, ty);
1762 lval = cloneShallow(func, lval);
1768 ld = new_Instruction(func, OP_LOAD, ty);
1770 ld = new_Instruction(func, OP_MERGE, ty);
1772 Value *tmp = cloneShallow(func, slot);
1777 Instruction *l = new_Instruction(func, OP_LOAD, TYPE_U32);
1778 l->setDef(0, (val = new_LValue(func, FILE_GPR)));
1789 ld = new_Instruction(func, OP_CVT, ty);
1834 static_cast<Value *>(mem) : new_LValue(func, FILE_GPR);
1881 delete_Instruction(func->getProgram(), *it);
1897 func = Function::get(reinterpret_cast<Graph::Node *>(it->get()));
1899 func->tlsBase = prog->tlsSize;
1902 prog->tlsSize += func->tlsSize;
1915 SpillCodeInserter insertSpills(func, mergedDefs);
1917 GCRA gcra(func, insertSpills, mergedDefs);
1922 if (!func->ins.empty()) {
1925 Instruction *nop = new_Instruction(func, OP_NOP, TYPE_NONE);
1926 BasicBlock::get(func->cfg.getRoot())->insertHead(nop);
1929 ret = insertConstr.exec(func);
1933 ret = insertPhiMoves.run(func);
1937 ret = insertArgMoves.run(func);
1946 func->print();
1950 for (sequence = func->cfg.nextSequence(), i = 0;
1951 ret && i <= func->loopNestingBound;
1952 sequence = func->cfg.nextSequence(), ++i)
1953 ret = buildLiveSets(BasicBlock::get(func->cfg.getRoot()));
1955 for (ArrayList::Iterator bi = func->allBBlocks.iterator();
1960 func->orderInstructions(this->insns);
1962 ret = buildIntervals.run(func);
1971 func->tlsSize = insertSpills.getStackSize();
2105 cst = new_Instruction(func, OP_CONSTRAINT, i->dType);
2108 cst->setDef(d, new_LValue(func, FILE_GPR));
2123 Instruction *hzd = new_Instruction(func, OP_NOP, TYPE_NONE);
2150 LValue *lval = new_LValue(func, FILE_GPR);
2153 Instruction *split = new_Instruction(func, OP_SPLIT, typeOfSize(size));
2183 LValue *lval = new_LValue(func, FILE_GPR);
2189 Instruction *merge = new_Instruction(func, OP_MERGE, typeOfSize(size));
2427 tex->setSrc(s + n++, new_LValue(func, FILE_GPR));
2459 tex->setSrc(n++, new_LValue(func, FILE_GPR));
2518 tex->setSrc(c, new_LValue(func, tex->getSrc(0)->asLValue()));
2522 tex->setDef(c, new_LValue(func, tex->getDef(0)->asLValue()));
2589 Instruction *nop = new_Instruction(func, OP_NOP, i->dType);
2602 Instruction *nop = new_Instruction(func, OP_NOP, i->dType);
2636 LValue *lval = new_LValue(func, cst->src(s).getFile());
2639 Instruction *mov = new_Instruction(func, OP_MOV, typeOfSize(size));
2675 LValue *lval = new_LValue(func, cst->def(d).getFile());
2679 mov = new_Instruction(func, OP_MOV, typeOfSize(size));
2694 mov = new_Instruction(func, OP_NOP, typeOfSize(size));