i965/fs: Pass const references to emit functions.

Cuts 10k of .text and saves a bunch of useless struct copies.
This commit is contained in:
Matt Turner 2014-06-28 23:11:22 -07:00
parent 35b741c8e7
commit e58992aedd
2 changed files with 14 additions and 12 deletions

View File

@ -734,32 +734,33 @@ fs_visitor::emit(enum opcode opcode)
}
fs_inst *
fs_visitor::emit(enum opcode opcode, fs_reg dst)
fs_visitor::emit(enum opcode opcode, const fs_reg &dst)
{
return emit(new(mem_ctx) fs_inst(opcode, dst));
}
fs_inst *
fs_visitor::emit(enum opcode opcode, fs_reg dst, fs_reg src0)
fs_visitor::emit(enum opcode opcode, const fs_reg &dst, const fs_reg &src0)
{
return emit(new(mem_ctx) fs_inst(opcode, dst, src0));
}
fs_inst *
fs_visitor::emit(enum opcode opcode, fs_reg dst, fs_reg src0, fs_reg src1)
fs_visitor::emit(enum opcode opcode, const fs_reg &dst, const fs_reg &src0,
const fs_reg &src1)
{
return emit(new(mem_ctx) fs_inst(opcode, dst, src0, src1));
}
fs_inst *
fs_visitor::emit(enum opcode opcode, fs_reg dst,
fs_reg src0, fs_reg src1, fs_reg src2)
fs_visitor::emit(enum opcode opcode, const fs_reg &dst, const fs_reg &src0,
const fs_reg &src1, const fs_reg &src2)
{
return emit(new(mem_ctx) fs_inst(opcode, dst, src0, src1, src2));
}
fs_inst *
fs_visitor::emit(enum opcode opcode, fs_reg dst,
fs_visitor::emit(enum opcode opcode, const fs_reg &dst,
fs_reg src[], int sources)
{
return emit(new(mem_ctx) fs_inst(opcode, dst, src, sources));

View File

@ -290,12 +290,13 @@ public:
void emit(exec_list list);
fs_inst *emit(enum opcode opcode);
fs_inst *emit(enum opcode opcode, fs_reg dst);
fs_inst *emit(enum opcode opcode, fs_reg dst, fs_reg src0);
fs_inst *emit(enum opcode opcode, fs_reg dst, fs_reg src0, fs_reg src1);
fs_inst *emit(enum opcode opcode, fs_reg dst,
fs_reg src0, fs_reg src1, fs_reg src2);
fs_inst *emit(enum opcode opcode, fs_reg dst,
fs_inst *emit(enum opcode opcode, const fs_reg &dst);
fs_inst *emit(enum opcode opcode, const fs_reg &dst, const fs_reg &src0);
fs_inst *emit(enum opcode opcode, const fs_reg &dst, const fs_reg &src0,
const fs_reg &src1);
fs_inst *emit(enum opcode opcode, const fs_reg &dst,
const fs_reg &src0, const fs_reg &src1, const fs_reg &src2);
fs_inst *emit(enum opcode opcode, const fs_reg &dst,
fs_reg src[], int sources);
fs_inst *MOV(const fs_reg &dst, const fs_reg &src);