[dwarf2out, elfos] Output assembly faster

Andrew Pinski pinskia@gmail.com
Tue Aug 23 09:48:00 GMT 2011


On Mon, Aug 22, 2011 at 5:06 AM, Dimitrios Apostolou <jimis@gmx.net> wrote:
> Hello again,
>
> most of this patch was posted at the beginning of my GSOC adventure and
> primarily is about replacing fprintf() calls with custom faster ones. From
> that time I changed minor things you suggested, omitted some complexities
> that offered minor speed-up, and made the code as clear as possible, while
> following more closely coding guidelines.
>
> Bootstrapped and tested on both i386 and x86_64, showing runtime improvement
> when compiling with debug info enabled.
>
> The only thing I am not sure is the differentiation between HOST_WIDE_INT
> and long, so I provided two versions of the same function. Please let me
> know if I should handle this differently.
>
>
> Future speedup in assembly generation *is possible* but requires more
> intrusive changes, maybe making assembly hard to read by human:
> * Always use hex numbers, they are much faster to produce
> * Call GNU assembler with -s parameter, though it's pretty hard to be
> compliant.
> * Even further in the future we could generate binary data, if we *know* the
> assembler is GAS.

+      do							\
+	{							\
+	  (LABEL)[__i] = (PREFIX)[__j];				\
+	  __i++; __j++;						\
+	}							\
+      while ((PREFIX)[__j] != '\0');				\

Can't you use strcpy(&((LABEL)[2]), PREFIX) here or even better stpcpy ?

Thanks,
Andrew Pinski



More information about the Gcc-patches mailing list