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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Earnshaw <[email protected]>:

https://gcc.gnu.org/g:efcc06ac1adc833d0b104df038d128031ca85e89

commit r17-5635-gefcc06ac1adc833d0b104df038d128031ca85e89
Author: Richard Earnshaw <[email protected]>
Date:   Tue Oct 20 18:42:08 2026 +0100

    arm: tweak limits on minipool placement [PR127988]

    My previous patch changed a number of the calculations on pool
    placement, but this wasn't fully accounted for when inserting a forced
    barrier.  The result was that it was possible to find a barrier in the
    code that had previously been discarded as being too far away.

    There was also a small memory leak in the pool dumping code in that
    we weren't destructing the subpools.

    gcc/ChangeLog:

            PR target/127988
            * config/arm/minipool.cc (minipool::add_forward_ref): Allow
            for pool alignment when checking if the current fix will fit.
            (minipool::create_fix_barrier): Ensure we always have a suitable
            insertion point and fix off-by-one issue when testing if a insn
            is in range.
            (place_minipools): Correctly account for padding and the pool
            skip instruction before inserting a forced barrier.
            (minipool::dump): Call the destructor on subpools before freeing
            them.

Reply via email to