Branch removal (original) (raw)

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