This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
genattrtab regression: infinite loop
- From: "Paulo Matos" <pmatos at broadcom dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Mon, 11 Feb 2013 10:29:23 +0000
- Subject: genattrtab regression: infinite loop
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.
Thanks,
Paulo Matos