This is the mail archive of the gcc@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]

Re: ICEs in validate_replace_src


    validate_replace_src aborts if GET_CODE (PATTERN (insn)) != SET.  It
    should probably be using single_set, but that is irrelevant to the
    bootstrap failures, because it's being called on a genuine double set,
    at least on i386:

I realized this morning that these changes were the source of this failure,
which seems to show up on lots of machines but not Alpha, where I tested it.

The change is due to allowing cprop to work on things that aren't a single
SET.  I'll look at and fix this very soon.

    (insn/i 100 99 101 (parallel[ 
                (set (reg:SI 80)
                    (udiv:SI (reg:SI 79)
                        (reg/v:SI 62)))
                (set (reg:SI 81)
                    (umod:SI (reg:SI 79)
                        (reg/v:SI 62)))
                (clobber (reg:CC 17 flags))
            ] ) 192 {udivmodsi4} (nil)
        (nil))

    Global constant propagation wants to replace (reg/v:SI 62) with
    (const_int 0) - yeah, that seems odd to me too.

Let me investigate that too.


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