i965/fs: Pass const references to emit functions.
authorMatt Turner <mattst88@gmail.com>
Sun, 29 Jun 2014 06:11:22 +0000 (23:11 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 1 Jul 2014 05:31:05 +0000 (22:31 -0700)
Cuts 10k of .text and saves a bunch of useless struct copies.

src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h

index db3d357..d1ded33 100644 (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));
index 906a1dd..3d0da23 100644 (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);