On 21 November 2012 03:26, Michael Hope <michael.h...@linaro.org> wrote: > On 20 November 2012 22:10, Zhenqiang Chen <zhenqiang.c...@linaro.org> wrote: >> 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 > > Could you hack the benchmark to make the early exit explicit and see > if that changes the result? That lets us know if improving shrink > wrap is worthwhile. > > Something like: > > bool Ray_In_Bound (RAY *Ray, OBJECT *Bounding_Object) > { > if (Bounding_Object == NULL) return true;
I had tried it. The result is the same with the original one. (The hack code is optimized) Thanks! -Zhenqiang _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain