On 07/25/2015 03:51 PM, Aurelien Jarno wrote:
On 2015-07-25 15:06, Richard Henderson wrote:
On 07/24/2015 04:34 PM, Aurelien Jarno wrote:
ots->val_type = TEMP_VAL_CONST;
ots->val = ts->val;
+ if (IS_DEAD_ARG(1)) {
+ temp_dead(s, args[1]);
+ }
Aren't we also missing
if (NEED_SYNC_ARG(0)) {
temp_sync(s, args[0], allocated_regs);
}
along this path?
I don't think so, I guess it's covered by the first part of this
function:
| if (((NEED_SYNC_ARG(0) || ots->fixed_reg) && ts->val_type != TEMP_VAL_REG)
| || ts->val_type == TEMP_VAL_MEM) {
It means after this block, a value that need to be synced will always
be in a register, including in the constant case.
Quite right. Therefore,
Reviewed-by: Richard Henderson <r...@twiddle.net>
Do you want to go ahead and push this for 2.4?
r~