[LLVMdev] Additional Optimization I'm Missing?
me22
me22.ca at gmail.com
Mon Mar 31 17:08:10 PDT 2008
On Mon, Mar 31, 2008 at 7:46 PM, Bobby Powers <bobbypowers at gmail.com> wrote:
>
> The thing is, in forbody it is still doing:
> subtmp = population + (population * .3) - (population * .1)
>
>
> ideally I would love to see it reduced to:
> subtmp = 1.2 * population
>
I expect that such a transformation is not safe in general thanks to
rounding errors, and as such isn't applied. AFAIK, compilers usually
don't reorganize floating point operations.
Have you tried it on other compilers? I expect it'll never happen
without some imprecise math option (like gcc's -ffast-math).
More information about the llvm-dev
mailing list