@@ -113,7 +113,8 @@ var_t *qs_gen_value(qs_ir_val_t *val, basic_block_t *bb, block_t *blk)
113113void qs_gen_inst (qs_ir_inst_t * inst , basic_block_t * bb , block_t * blk )
114114{
115115 qs_ir_val_t * rs1_val = & inst -> args [0 ], * rs2_val = & inst -> args [1 ];
116- int opcode ;
116+ opcode_t opcode ;
117+ int sz ;
117118 var_t * dest , * rs1 , * rs2 ;
118119
119120 switch (inst -> op ) {
@@ -147,17 +148,17 @@ void qs_gen_inst(qs_ir_inst_t *inst, basic_block_t *bb, block_t *blk)
147148 case QS_OP_LOADW :
148149 dest = qs_gen_dest (inst -> dest , bb , blk );
149150 rs1 = qs_gen_value (rs1_val , bb , blk );
151+ sz = inst -> op == QS_OP_LOADB ? 1 : 4 ;
150152
151- add_insn (blk , bb , OP_read , dest , rs1 , NULL ,
152- inst -> op == QS_OP_LOADB ? 1 : 4 , NULL );
153+ add_insn (blk , bb , OP_read , dest , rs1 , NULL , sz , NULL );
153154 break ;
154155 case QS_OP_STOREB :
155156 case QS_OP_STOREW :
156157 rs1 = qs_gen_value (rs1_val , bb , blk );
157158 rs2 = qs_gen_value (rs2_val , bb , blk );
159+ sz = inst -> op == QS_OP_STOREB ? 1 : 4 ;
158160
159- add_insn (blk , bb , OP_write , NULL , rs1 , rs2 ,
160- inst -> op == QS_OP_STOREB ? 1 : 4 , NULL );
161+ add_insn (blk , bb , OP_write , NULL , rs1 , rs2 , sz , NULL );
161162 break ;
162163 case QS_OP_ALLOC :
163164 if (find_local_var (trim_sigil (inst -> dest -> temp -> name ), blk )) {
0 commit comments