This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: mcore-elf on 3.3 branch


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;
  }
  ")


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