This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: combiner bug and fix
- From: Eric Christopher <echristo at redhat dot com>
- To: Denis Chertykov <denisc at overta dot ru>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 19 Jun 2003 10:32:13 -0700
- Subject: Re: combiner bug and fix
- Organization:
- References: <auto-000006294415@overta.ru>
> In process of combining it builds the following rtl:
>
> (zero_extract:HI (xor:QI (reg:QI 24 r24)
> (reg:QI 43))
> (const_int 1 [0x1])
> (const_int 0 [0x0]))
>
Right. Combine creates lots of things - most of them not useful at all.
Including this...
> It's a wrong rtl which must be rejected by combiner, but it have a
> code XOR which is valid and this rtl will be processed. It is a
> problem because the new rtl
> (zero_extract:HI (xor:HI (clobber:QI (const_int 0 [0x0]))
> (clobber:QI (const_int 0 [0x0])))
> (const_int 1 [0x1])
> (const_int 0 [0x0]))
>
But the below is a problem.
> will be simplified to (const_int 1).
>
You need to figure out where it's doing this simplification and not
allow it there.
-eric
--
Eric Christopher <echristo@redhat.com>