Branch removal
Patrick Metzler
Patrick.Metzler at gmx.net
Fri Sep 28 05:09:46 PDT 2012
Hi Vladimir,
On 09/27/2012 09:04 PM, Vladimir Kozlov wrote:
> I think the best solution for you is to modify the java code:
>
> aSwap = a.getCopy();
> for (E e : arrayList) {
> aSwap.do();
> if (e.condition())
> a = aSwap;
> aSwap = a.getCopy();
> }
I changed the source code like above and adapted my transformation. It
seems to work now, but I still need to test whether the result of the
algorithm is correct.
It would be interesting to know why a loop with only one back edge in
bytecode gets two back edges in IDEAL directly after parsing and how
common/uncommon this is. Maybe I'll investigate this further, but for
now I'll stick with the working (non-general) solution.
Thanks again for your advise.
Best regards,
Patrick
More information about the hotspot-compiler-dev
mailing list