[Patch] Emit 64-bit bounds on 32-bit hosts with DWARF

Jakub Jelinek jakub@redhat.com
Tue Sep 29 12:02:00 GMT 2009


On Tue, Sep 29, 2009 at 10:44:29AM +0200, Eric Botcazou wrote:
> > This seems like a step backwards, the original patch has been posted before
> > http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01765.html and what has been
> > committed reverts the important parts of that patch.  Why are you changing
> > the union member to double_int from rtx?  That makes it the largest field
> > in the union...
> 
> Take a look at dw_vec_const and do the maths.
> 

That struct is one pointer, 2 integers, i.e. for 32-bit host 12 bytes.
double_int is 16 bytes.  So say on i386-linux -> x86_64 cross (or i386 darwin)
your change grew struct dw_val_struct from 16 bytes to 20, completely
unnecessarily for something so rare in the debug info (normally, you already
have a CONST_DOUBLE and can just use it).
Even dw_vec_const could probably shrink, element size is always just a very
small integer, so could very well e.g. fit into 8 bits, or we could always
store it as flat bits, etc.

	Jakub



More information about the Gcc-patches mailing list