This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: new sign/zero extension elimination pass
- From: Tom de Vries <tom at codesourcery dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: Paolo Bonzini <bonzini at gnu dot org>, gcc-patches at gcc dot gnu dot org, Bernd Schmidt <bernds at codesourcery dot com>
- Date: Fri, 12 Nov 2010 09:22:31 +0100
- Subject: Re: new sign/zero extension elimination pass
- References: <4CBC698B.3080204@codesourcery.com> <201010221030.30363.ebotcazou@adacore.com> <4CC9E7A5.8040404@gnu.org> <4CD869D9.9020009@codesourcery.com> <AANLkTinJtmMZ0vhyP0B0fSkvYuTv-3DuZr0G5WwLZx44@mail.gmail.com>
Eric,
Paolo Bonzini wrote:
> On Mon, Nov 8, 2010 at 22:21, Tom de Vries <tom@codesourcery.com> wrote:
>> I just looked into using DF_INSN_USES, and I'm not sure that using that is a
>> good idea. There is a difference between using note_uses and DF_INSN_USES.
>>
>> If there is an insn
>> ...
>> (set
>> (reg:SI 1)
>> (plus:SI (reg:SI 2)
>> (reg:SI 3)))
>> ...
>>
>> the note_uses helper function will be visited with the plus expression,
>> something that is used in the pass (see note_use in ee.c).
>
> This is an interesting point, thanks.
>
>> Furthermore, I would like to know whether there is a problem with checking in
>> the pass into trunk in its current form. My understanding of the discussion up
>> until now is that the consensus is that the pass is useful, but not fully efficient.
>> I agree with the fact that it's possible to improve it, but I also think that
>> the runtime is negligible (it's an O(n) pass currently) and the benefit of
>> improving the pass will not be worth the effort. I will try to confirm this with
>> a profiling run on spec2000. If the profiling run confirms that the runtime is
>> negligible, is the pass (in principle) ok for trunk?
>
> I am not an RTL reviewer, so my opinion doesn't weigh too much.
>
> Paolo
I profiled the pass on spec2000:
-mabi=32 -mabi=64
ee-pass (usr time): 0.70 1.16
total (usr time): 919.30 879.26
ee-pass (%): 0.08 0.13
The pass takes 0.13% or less of the total usr runtime. Is it necessary to
improve the runtime of this pass?
Thanks,
- Tom