Hi,

I try ARM, MIPS, PowerPC and X86 on povray benchmark. No one can
shrink-wrap function Ray_In_Bound.

Here is:
bool Ray_In_Bound (RAY *Ray, OBJECT *Bounding_Object)
{
  ...
  for (Bound = Bounding_Object; Bound != NULL; Bound = Bound->Sibling)
  {...}
  return (true);
}
For ARM O2/O3, "Bound" is allocated to "r6" during ira. So there is copy

r6 = r1 before
testing Bound != NULL

The copy (using r6) blocks the shrink-wrap optimization since r6
should be saved. Need enhance shrink-wrap to handle this case.

Overall, for povray benchmark,
54 functions are shrink-wrapped for ARM;
59 functions are shrink-wrapped for X86;
25 functions are shrink-wrapped for MIPS;
26 functions are shrink-wrapped for PowerPC.

Thanks!
-Zhenqiang

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to