[Bug rtl-optimization/70164] [8/9/10 Regression] Code/performance regression due to poor register allocation on Cortex-M0

clyon at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 10 10:57:40 GMT 2020


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

Christophe Lyon <clyon at gcc dot gnu.org> changed:

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

--- Comment #24 from Christophe Lyon <clyon at gcc dot gnu.org> ---
With today's trunk, I still see the same problem:

history_expand_line_internal:
        @ args = 0, pretend = 0, frame = 8
        @ frame_needed = 0, uses_anonymous_args = 0
        push    {r0, r1, r2, r4, r5, r6, r7, lr}
        ldr     r3, .L3
        ldr     r6, .L3+4
        ldr     r7, [r3]
        ldr     r3, [r6]       ; ; <--- load of 'hist_verify' onto r3
        movs    r5, r0
        str     r3, [sp, #4]    ; <--- Spill
        movs    r3, #0
        str     r3, [r6]            
        bl      pre_process_line
        ldr     r3, [sp, #4]    ; <--- reload
        movs    r4, r0
        adds    r7, r7, r3
        str     r7, [r6]
        cmp     r5, r0
        bne     .L1
        bl      str_len
        adds    r0, r0, #1
        bl      x_malloc
        movs    r1, r4
        bl      str_cpy
        movs    r4, r0
.L1:
        @ sp needed
        movs    r0, r4
        pop     {r1, r2, r3, r4, r5, r6, r7, pc}
.L4:
        .align  2
.L3:
        .word   a1
        .word   hist_verify


More information about the Gcc-bugs mailing list