https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118570

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amonakov at gcc dot gnu.org

--- Comment #2 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
-O2 trivializes the benchmark by discovering that 'romberg' is const without
inlining it, then moving it out of the loop; -O3 inlines it, and I think uses
of stack arrays make it difficult to passes like loop invariant motion to
optimize it.

I wouldn't expect this to be a big issue for real-world code: either the
function wouldn't be called with the same arguments in the loop, or if it was a
"proper" benchmark there would be compiler barriers in place to prevent the
compiler from discovering the redundancy.

Reply via email to