This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Remove some more unused code from ia64 back end.
- From: James E Wilson <wilson at specifixinc dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 29 Jul 2004 13:38:06 -0700
- Subject: Re: Remove some more unused code from ia64 back end.
- References: <87u0vqpsy8.fsf@codesourcery.com>
On Thu, 2004-07-29 at 11:30, Zack Weinberg wrote:
> 1) setjmp_operand is unused and appears never to have been used.
You apparently did not look very hard. The use of it disappeared in
between gcc-3.2 and gcc-3.3. It is safe to get rid of this. The code
for calls has been rewritten such that this is no longer necessary.
> 2) There is a block of code in got_symbolic_operand which is
> unreachable, and has been so since July 2000. I conclude it's not
> necessary. It can be pulled back out of CVS if we do want it.
This is an optimization issue, not a correctness issue. We get better
code if we have the extra tests, but we get correct code whether or not
it is there. Please put the code back with the spurious "return 1;"
removed.
The problem here is obviously due to a patch error of some kind.
Checking, I see it happened between revisions 1.30 and 1.31. The patch
is here:
http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00332.html
There error is in the patch that was posted to the list, but wasn't
noticed. There was never any intent to disable these extra tests, and
they should not have been removed, at least not without any analysis of
whether we still get any optimization benefit from the code.
> 3) It is not necessary to write explicit prototypes in ia64-protos.h
> for predicate functions. Removing them revealed that
> tls_symbolic_operand had been left out of PREDICATE_CODES.
Thanks. The prototypes were needed before you added the genpreds
program in Aug 2001, and I never noticed that they were now redundant.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com