else
sreg = -1;
if (sreg != -1) {
- MonoInst *tins;
+ MonoInst *tins, *var;
skip = FALSE;
for (tins = ins->prev; tins; tins = tins->prev) {
}
if (skip)
continue;
+ var = get_vreg_to_inst (cfg, sreg);
+ if (var && (var->flags & (MONO_INST_VOLATILE|MONO_INST_INDIRECT)))
+ continue;
ins->sreg1 = sreg;
}