This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: mcore-elf on 3.3 branch
- From: Nick Clifton <nickc at redhat dot com>
- To: Joel Sherrill <joel dot sherrill at OARcorp dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 13 May 2003 19:31:55 +0100
- Subject: Re: mcore-elf on 3.3 branch
- References: <3EBFDFB0.72DD73FC@OARcorp.com>
Hi Joel,
> mcore-elf has a problem on the 3.3 branch. I currently have a
> cc1 running with over 17 minutes CPU time on a 2.4 Ghz P4
> compiling _lshrdi3.o.
... and here is a proper patch to fix the problem.
A jump insn was being generated by a call to emit_insn() which was
confusing find_basic_blocks(), which then caused the target of the
jump to be deleted (for being in an unreachable block), which then
confused the if-conversion code.
I am going to apply this patch to the mainline sources, but since the
3.3 branch is frozen it will have to wait until after the release.
Cheers
Nick
2003-05-13 Nick Clifton <nickc@redhat.com>
* config/mcore/mcore.md (jump): Use emit_jump_insn.
Index: gcc/config/mcore/mcore.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore.md,v
retrieving revision 1.9
diff -c -3 -p -w -r1.9 mcore.md
*** gcc/config/mcore/mcore.md 20 Dec 2002 04:30:51 -0000 1.9
--- gcc/config/mcore/mcore.md 13 May 2003 18:34:40 -0000
***************
*** 1896,1902 ****
""
"
{
! emit_insn (gen_jump_real (operand0));
DONE;
}
")
--- 1896,1902 ----
""
"
{
! emit_jump_insn (gen_jump_real (operand0));
DONE;
}
")