Revision 8c11ad25 tcg/tcg.c

b/tcg/tcg.c
1782 1782
            if (!ts->fixed_reg) {
1783 1783
                if (ts->val_type == TEMP_VAL_REG)
1784 1784
                    s->reg_to_temp[ts->reg] = -1;
1785
                ts->val_type = TEMP_VAL_REG;
1786
                ts->reg = reg;
1787
                /* temp value is modified, so the value kept in memory is
1788
                   potentially not the same */
1789
                ts->mem_coherent = 0; 
1790
                s->reg_to_temp[reg] = arg;
1785
                if (IS_DEAD_ARG(i)) {
1786
                    ts->val_type = TEMP_VAL_DEAD;
1787
                } else {
1788
                    ts->val_type = TEMP_VAL_REG;
1789
                    ts->reg = reg;
1790
                    /* temp value is modified, so the value kept in memory is
1791
                       potentially not the same */
1792
                    ts->mem_coherent = 0;
1793
                    s->reg_to_temp[reg] = arg;
1794
               }
1791 1795
            }
1792 1796
        oarg_end:
1793 1797
            new_args[i] = reg;
......
1981 1985
        } else {
1982 1986
            if (ts->val_type == TEMP_VAL_REG)
1983 1987
                s->reg_to_temp[ts->reg] = -1;
1984
            ts->val_type = TEMP_VAL_REG;
1985
            ts->reg = reg;
1986
            ts->mem_coherent = 0; 
1987
            s->reg_to_temp[reg] = arg;
1988
            if (IS_DEAD_ARG(i)) {
1989
                ts->val_type = TEMP_VAL_DEAD;
1990
            } else {
1991
                ts->val_type = TEMP_VAL_REG;
1992
                ts->reg = reg;
1993
                ts->mem_coherent = 0;
1994
                s->reg_to_temp[reg] = arg;
1995
            }
1988 1996
        }
1989 1997
    }
1990 1998
    

Also available in: Unified diff