From d35f34cea9558c23700532d4a7142dab2cc342a8 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Sat, 28 Jun 2014 13:46:29 -0700 Subject: [PATCH] i965/vec4: Pass const references to vec4_instruction(). text data bss dec hex filename 4244821 123200 39648 4407669 434175 i965_dri.so 4231165 123200 39648 4394013 430c1d i965_dri.so Cuts 13k of .text and saves a bunch of useless struct copies. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_vec4.h | 8 ++++---- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 366198c115f..5702d06cbd2 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -233,10 +233,10 @@ public: DECLARE_RALLOC_CXX_OPERATORS(vec4_instruction) vec4_instruction(vec4_visitor *v, enum opcode opcode, - dst_reg dst = dst_reg(), - src_reg src0 = src_reg(), - src_reg src1 = src_reg(), - src_reg src2 = src_reg()); + const dst_reg &dst = dst_reg(), + const src_reg &src0 = src_reg(), + const src_reg &src1 = src_reg(), + const src_reg &src2 = src_reg()); struct brw_reg get_dst(void); struct brw_reg get_src(const struct brw_vec4_prog_data *prog_data, int i); diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 3a360d452d2..c732c90068c 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -30,8 +30,9 @@ extern "C" { namespace brw { vec4_instruction::vec4_instruction(vec4_visitor *v, - enum opcode opcode, dst_reg dst, - src_reg src0, src_reg src1, src_reg src2) + enum opcode opcode, const dst_reg &dst, + const src_reg &src0, const src_reg &src1, + const src_reg &src2) { this->opcode = opcode; this->dst = dst; -- 2.30.2