This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: genattrtab regression: infinite loop
On Mon, Feb 11, 2013 at 11:29 AM, Paulo Matos <pmatos@broadcom.com> wrote:
> Hello,
>
> I just noticed when moving port from 4.7.2 to HEAD that genattrtab gets into an infinite loop with:
> (define_insn "br_pred"
> [(set (pc)
> (if_then_else
> (match_operator 2 "easy_comparison"
> [(match_operand:BI 0 "register_operand" "c")
> (const_int 0)])
> (label_ref (match_operand 1 "" ""))
> (pc)))]
> ""
> "brtest"
> [(set (attr "length") (const_int 4))
> (set (attr "size")
> (if_then_else (eq_attr "length" "4")
> (const_string "short")
> (const_string "long")))])
>
> This is a simplified version of what I have but it manages to trigger the problem.
> I am not sure why this is happening yet but I looked through the gcc internals manual and I don't think I am doing anything wrong.
>
> If you confirm that this is a bug and no infinite loop should occur I will write a bug report. I will, in the meantime, look at the genattrtab.c code and try to find an explanation for this.
Does it work with -fno-aggressive-loop-optimizations?
> Thanks,
>
> Paulo Matos
>
>