|
@@ -4671,6 +4671,9 @@ static void temp_load(TCGContext *s, TCGTemp *ts, TCGRegSet desired_regs,
|
|
ts->mem_coherent = 0;
|
|
ts->mem_coherent = 0;
|
|
break;
|
|
break;
|
|
case TEMP_VAL_MEM:
|
|
case TEMP_VAL_MEM:
|
|
|
|
+ if (!ts->mem_allocated) {
|
|
|
|
+ temp_allocate_frame(s, ts);
|
|
|
|
+ }
|
|
reg = tcg_reg_alloc(s, desired_regs, allocated_regs,
|
|
reg = tcg_reg_alloc(s, desired_regs, allocated_regs,
|
|
preferred_regs, ts->indirect_base);
|
|
preferred_regs, ts->indirect_base);
|
|
tcg_out_ld(s, ts->type, reg, ts->mem_base->reg, ts->mem_offset);
|
|
tcg_out_ld(s, ts->type, reg, ts->mem_base->reg, ts->mem_offset);
|