STOREP instructions' first operand has to be considered a read-operand, not a write operand, otherwise the life ranges will be wrong, and the value itself IS only read, not written to

This commit is contained in:
Wolfgang (Blub) Bumiller 2012-08-19 17:46:10 +02:00
parent 332d306723
commit 387335bb4d

9
ir.c
View file

@ -1947,6 +1947,15 @@ static void ir_op_read_write(int op, size_t *read, size_t *write)
*write = 0;
*read = 1;
break;
case INSTR_STOREP_F:
case INSTR_STOREP_V:
case INSTR_STOREP_S:
case INSTR_STOREP_ENT:
case INSTR_STOREP_FLD:
case INSTR_STOREP_FNC:
*write = 0;
*read = 7;
break;
default:
*write = 1;
*read = 6;