Identifying global state within GCC
Jeff Law
law@redhat.com
Thu May 2 13:20:00 GMT 2013
On 05/01/2013 02:32 PM, David Malcolm wrote:
> I had a go at writing a custom pass to try to locate places where GCC
> makes use of global state.
>
> You can see the pass here (which I implemented using gcc-python-plugin):
> https://gcc-python-plugin.readthedocs.org/en/latest/working-with-c.html#finding-global-variables
>
> A build log from recompiling gcc using this pass can be seen at:
> http://fedorapeople.org/~dmalcolm/gcc/2013-05-01/make.log
> (about 12MB in size; I killed it when I saw that stage 1 was done).
>
> I'm sure there are quite a few false positives in there.
>
> Hope this is helpful. FWIW I had an earlier version of the pass which
> merely gave *declaration* sites for global variables, rather than all
> *uses* of such variables.
I wonder how useful it would be to filter out the source line
information, then produce a histogram of which global state is hit the
most often across the build. That'd give us an interesting hitlist as
we start trying to remove the global state.
jeff
More information about the Gcc
mailing list