private:
Program::Type progType;
- const TargetNV50 *targ;
+ const TargetNV50 *targNV50;
private:
inline void defId(const ValueDef&, const int pos);
if (f->op == OP_CALL) {
if (f->builtin) {
- pos = targ->getBuiltinOffset(f->target.builtin);
+ pos = targNV50->getBuiltinOffset(f->target.builtin);
} else {
pos = f->target.fn->binPos;
}
replaceExitWithModifier(func);
}
-CodeEmitterNV50::CodeEmitterNV50(const TargetNV50 *target) : CodeEmitter(target)
+CodeEmitterNV50::CodeEmitterNV50(const TargetNV50 *target) :
+ CodeEmitter(target), targNV50(target)
{
targ = target; // specialized
code = NULL;
inline void setProgramType(Program::Type pType) { progType = pType; }
private:
- const TargetNVC0 *targ;
+ const TargetNVC0 *targNVC0;
Program::Type progType;
if (f->op == OP_CALL) {
if (f->builtin) {
assert(f->absolute);
- uint32_t pcAbs = targ->getBuiltinOffset(f->target.builtin);
+ uint32_t pcAbs = targNVC0->getBuiltinOffset(f->target.builtin);
addReloc(RelocEntry::TYPE_BUILTIN, 0, pcAbs, 0xff800000, 23);
addReloc(RelocEntry::TYPE_BUILTIN, 1, pcAbs, 0x007fffff, -9);
} else {
CodeEmitterGK110::CodeEmitterGK110(const TargetNVC0 *target)
: CodeEmitter(target),
+ targNVC0(target),
writeIssueDelays(target->hasSWSched)
{
code = NULL;
inline void setProgramType(Program::Type pType) { progType = pType; }
private:
- const TargetNVC0 *targ;
+ const TargetNVC0 *targNVC0;
Program::Type progType;
if (f->op == OP_CALL) {
if (f->builtin) {
assert(f->absolute);
- uint32_t pcAbs = targ->getBuiltinOffset(f->target.builtin);
+ uint32_t pcAbs = targNVC0->getBuiltinOffset(f->target.builtin);
addReloc(RelocEntry::TYPE_BUILTIN, 0, pcAbs, 0xfc000000, 26);
addReloc(RelocEntry::TYPE_BUILTIN, 1, pcAbs, 0x03ffffff, -6);
} else {
void
CodeEmitterNVC0::prepareEmission(Function *func)
{
- const Target *targ = func->getProgram()->getTarget();
-
CodeEmitter::prepareEmission(func);
if (targ->hasSWSched)
CodeEmitterNVC0::CodeEmitterNVC0(const TargetNVC0 *target)
: CodeEmitter(target),
+ targNVC0(target),
writeIssueDelays(target->hasSWSched)
{
code = NULL;