[IPRA] Do we required more aggressive shrink-wrapping optimization?

Hello Quentin,

I see your work on shrink-wrapping optimization at http://reviews.llvm.org/rL236507
IPRA has benefited shrink-wrapping optimization ( I have noticed that on sqlite3 test-case) so I did read Fred Chow’s paper and compare that approach with yours I did not understand much of your work :frowning: in comparison to original paper but I feel that current approach is not generating same results as data flow analysis based approach. Also I do not understand one of your comment on review :

  1. Right now, we only support one save point and one restore point. At some point we can expand this to several save point and restore point,

Do you here meant to get more effective results as original paper? With IPRA should we go for more aggressive version or the current version is as capable as original paper ?

Sincerely,
Vivek

I can't make any promises, but Fred is a friend of mine - Please email me
offlist if you need an extra hand with this and think his input may be of
value.

Could he send his input on the list instead of having to side-channel?
I’m sure it can be interesting for everyone :slight_smile:

Thanks,

Hi Vivek,

Hello Quentin,

I see your work on shrink-wrapping optimization at http://reviews.llvm.org/rL236507
IPRA has benefited shrink-wrapping optimization ( I have noticed that on sqlite3 test-case) so I did read Fred Chow’s paper and compare that approach with yours I did not understand much of your work :frowning: in comparison to original paper but I feel that current approach is not generating same results as data flow analysis based approach.

That’s not surprising that you do not get the implementation in comparison of the original paper, the goal is the same but the approaches are completely different.
Fred’s approach is data flow based, that one is dominance based.

Also I do not understand one of your comment on review :

  1. Right now, we only support one save point and one restore point. At some point we can expand this to several save point and restore point,

Do you here meant to get more effective results as original paper?

No, I mean to improve the current approach, we would need to support several save and restore insertion points. The original paper already supports that, but so far, we did not find compelling reason to add this (complex) support.

With IPRA should we go for more aggressive version or the current version is as capable as original paper ?

The current version is not as capable as the original paper in terms of the granularity we have for the placement of save and restore points, but it is much faster.
Anyhow, shrink-wrapping and the scope of the current IPRA are orthogonal. Put differently, improving our shrink-wrapping implementation is a different topic.

Cheers,
-Quentin