This is the mail archive of the gcc-bugs@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: problem with regrename pass on c4x


On Sat, 9 Dec 2000, Herman ten Brugge wrote:
> I have a problem with the regrename pass on the c4x. The code:

> The debug dump from the regrename pass is at the end. Register r1 is renamed
> into r3 for insn 13 and old global_live_at_start = { 2 10 11 20 } and
> new_live_at_start = { 2 3 10 11 20 }.
> Old global_live_at_start and new_live_at_start are not the same (r3 is
> also live now) and this causes the core dump.

> (insn 13 7 18 (parallel[ 
>             (set (zero_extract:QI (reg:QI 3 r3)
>                     (const_int 8 [08h])
>                     (const_int 8 [08h]))
>                 (reg/v:QI 0 r0))
>             (clobber (reg:CC 21 st))
>         ] ) 103 {*insv_clobber} (insn_list 4 (insn_list 6 (insn_list 4 (insn_list 6 (nil)))))
>     (expr_list:REG_DEAD (reg/v:QI 0 r0)
>         (expr_list:REG_UNUSED (reg:CC 21 st)
>             (nil))))

Did you mark operand 0 as in-out (with a '+' constraint)?


Bernd


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