This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/66620] bfin: bfin.c: (hwloop_optimize): gcc_assert (JUMP_P (insn)) fails.
- From: "gang.chen.5i5j at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 27 Jun 2015 02:08:37 +0000
- Subject: [Bug target/66620] bfin: bfin.c: (hwloop_optimize): gcc_assert (JUMP_P (insn)) fails.
- Auto-submitted: auto-generated
- References: <bug-66620-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66620
--- Comment #2 from Chen Gang <gang.chen.5i5j at gmail dot com> ---
(In reply to Mikhail Maltsev from comment #1)
> Started with r208165.
OK, thanks. Really it is, it is valuable to me (it can generate the correct
insns for comparing). And also if remove "-fno-reorder-blocks", it can generate
correct insns too (after comparing with the original correct insns, this
optimized insns are correct).
In our case, the issue insn is:
(insn 132 59 74 6 (parallel [
(set (reg:SI 45 LT1)
(label_ref 74))
(set (reg:SI 49 LB1)
(label_ref 133))
(set (reg:SI 47 LC1)
(reg:SI 8 P0 [112]))
]) lpt_commit.i:11 -1
(nil))
it is in an incorrect area, which want to optimize the insns below in another
area:
(note 68 67 69 9 [bb 9] NOTE_INSN_BASIC_BLOCK)
(insn:TI 69 68 109 9 (set (reg/v:SI 0 R0 [orig:94 iip ] [94])
(plus:SI (reg/v:SI 0 R0 [orig:94 iip ] [94])
(const_int 1 [0x1]))) lpt_commit.i:19 50 {addsi3}
(nil))
(jump_insn:TI 109 69 73 9 (parallel [
(set (pc)
(if_then_else (ne (reg:SI 8 P0 [112])
(const_int 1 [0x1]))
(label_ref:SI 70)
(pc)))
(set (reg:SI 8 P0 [112])
(plus:SI (reg:SI 8 P0 [112])
(const_int -1 [0xffffffffffffffff])))
(unspec [
(const_int 0 [0])
] 10)
(clobber (scratch:SI))
]) lpt_commit.i:19 96 {loop_end}
(int_list:REG_BR_PROB 7384 (nil))
-> 70)
The incorrect insn wants to merge the too "for (iip = 0; iip < 4; iip++) {...}"
in one.
Next, I shall continue analyzing it, and the all related insns are in
attachments. And welcome any ideas, suggestions and completions, Thanks.