Re: [PATCH 7/7] SMS remove dependence on doloop: To identify read/write register as loop induction variable

2016-05-18 Thread Shiva Chen
Hi, Bernd 2016-05-13 20:33 GMT+08:00 Bernd Schmidt : > On 05/05/2016 08:03 AM, Shiva Chen wrote: >> >> >> - /* We do not handle setting only part of the register. */ >> - if (DF_REF_FLAGS (adef) & DF_REF_READ_WRITE) >> -return GRD_INVALID; >> - > This isn't right, at least not without other

Re: [PATCH 7/7] SMS remove dependence on doloop: To identify read/write register as loop induction variable

2016-05-13 Thread Bernd Schmidt
On 05/05/2016 08:03 AM, Shiva Chen wrote: - /* We do not handle setting only part of the register. */ - if (DF_REF_FLAGS (adef) & DF_REF_READ_WRITE) -return GRD_INVALID; - This isn't right, at least not without other changes. This prevents using references where the register is set as

[PATCH 7/7] SMS remove dependence on doloop: To identify read/write register as loop induction variable

2016-05-04 Thread Shiva Chen
Hi, We use loop induction variable analysis to find count_reg. Without doloop optimization, count_reg might be a READ_WRITE_REG. E.g. while (reg < 0x200) { MEM [++reg:SI] = 5} READ_WRITE_REG won't identify as loop induction variable and SMS will skip the loop. We modify loop-iv.c to identify th