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]
Other format: [Raw text]

Re: combine corrupts insns + dumps with insn cost problems


Hello!

The clobber of the scratch register has disappeared!

A possible clue as to what sets up the failure is that the second
replacement insn (to replace insn 7)

(set (reg:HI 24)
    (eq:HI (reg:CCZ_C 13 cc)
        (const_int 0 [0x0])))

needs to have a clobber added. It really looks like this:

(set (reg:HI 24)
    (eq:HI (reg:CCZ_C 13 cc)
        (const_int 0 [0x0])))
(clobber (reg:CC 13 cc))

Combine knows how to add clobbers to make insns recognizable. I'm guessing
it accidentally clobbers the original insn in doing so. Where would I look?

Try by tracing through recog_for_combine(), combine.c.


Uros.


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