This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Correct fix for scheduler bug PR11320


On 07/14/11 18:29, Richard Henderson wrote:
> On 07/14/2011 09:23 AM, Bernd Schmidt wrote:
>> Ok, with gen_const_mem hacked into gcc-3.3 (minus setting MEM_READONLY_P
>> which doesn't exist in that tree) the load stays behind the branch where
>> it should be.
>>
> 
> RTX_UNCHANGING_P was the bit back then, I believe.

Still ok with that also set:
        addl r14 = @ltoff(ap_standalone#), r1
        ;;
        .mii
        ld8 r15 = [r14]
        addl r14 = @ltoff(.LC2), r1
        ;;
        (p7) addl r14 = 1, r0
        ;;
        .mib
        (p7) st4 [r15] = r14
        nop.i 0
        (p7) br.cond.dptk .L5
        .mib
        ld8 r14 = [r14]

And not ok if the MEM isn't exposed in RTL:
        addl r14 = @ltoff(ap_standalone#), r1
        ;;
        .mii
        ld8 r15 = [r14]
        addl r14 = @ltoff(.LC2), r1
        ;;
        (p7) addl r14 = 1, r0
        ;;
        .mii
        (p7) st4 [r15] = r14
        nop.i 0
        nop.i 0
        .mbb
        ld8 r14 = [r14]
        (p7) br.cond.dptk .L5

I'm attaching the 3.3 patch.


Bernd

Attachment: 3.3-ia64.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]