This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
comment / code incosistency in cfgcleanup.c:flow_find_cross_jump
- From: Joern RENNECKE <joern dot rennecke at st dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 12 Jan 2005 15:29:54 +0000
- Subject: comment / code incosistency in cfgcleanup.c:flow_find_cross_jump
Consideriing this code:
if (onlyjump_p (i2)
|| (returnjump_p (i2) && !side_effects_p (PATTERN (i2))))
{
last2 = i2;
/* Count everything except for unconditional jump as insn. */
if (!simplejump_p (i2) && !returnjump_p (i2) && last1)
ninsns++;
i2 = PREV_INSN (i2);
}
you count unconditional jumps with a clobber, but you don't count
conditional returns (, or even an instruction that solves a travelling
salesman problem and returns if it finds a solution within a given cost
bound).