This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix set_noop_p
- To: gcc-patches at gcc dot gnu dot org, rth at cygnus dot com, patches at x86-64 dot org
- Subject: Fix set_noop_p
- From: Jan Hubicka <jh at suse dot cz>
- Date: Fri, 20 Jul 2001 15:55:58 +0200
Hi,
to bootstrap my jump killer patch on irix, I need to teach
delete_trivially_dead_insns to cleanup the noop jumps created by CSE, as the
CFG build fails on these, if they remains in the insn stream.
Bootstrapped/regtested irix together with jump killer patch,
bootstrap/regtesting of i686 in progress.
Fri Jul 20 15:15:47 CEST 2001 Jan Hubicka <jh@suse.cz>
* rtlanal.c (set_noop_p): Return true for noop jumps.
Index: rtlanal.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.100
diff -c -3 -p -r1.100 rtlanal.c
*** rtlanal.c 2001/07/01 13:34:02 1.100
--- rtlanal.c 2001/07/20 13:13:35
*************** set_noop_p (set)
*** 998,1003 ****
--- 998,1006 ----
if (GET_CODE (dst) == MEM && GET_CODE (src) == MEM)
return rtx_equal_p (dst, src);
+ if (dst == pc_rtx && src == pc_rtx)
+ return 1;
+
if (GET_CODE (dst) == SIGN_EXTRACT
|| GET_CODE (dst) == ZERO_EXTRACT)
return rtx_equal_p (XEXP (dst, 0), src)