On Wed, May 23, 2012 at 5:00 AM, Richard Guenther <rguent...@suse.de> wrote: > > This finally switches us to not record global vars in referenced-vars. > For this to work I had to re-engineer how we handle global var removal > from local-decls in remove_unused_locals. Incidentially that code > already had some sort of a bitmap (for some weird reason even), thus > I borrowed that and simplified the handling. You may notice that > it would be easy to handle all vars that way ... > > So eventually 5/n will make referenced-vars go away completely > (the only serious user seems to be the SSA renamer for its > SYMS_TO_RENAME bitmap). > > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. > > Richard. > > 2012-05-23 Richard Guenther <rguent...@suse.de> > > * tree-dfa.c (add_referenced_var_1): Do not add global vars. > * tree-ssa-live.c (mark_all_vars_used_1): Handle global vars > via the global_unused_vars bitmap. > (remove_unused_locals): Handle global vars in local-decls via > a global_unused_vars bitmap instead of the used flag in the > var annotation. Simplify global variable handling and removal. >
This breaks bootstrap on Linux/x86-64: http://gcc.gnu.org/ml/gcc-regression/2012-05/msg00468.html Comparing stages 2 and 3 warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1obj-checksum.o differs warning: gcc/cc1-checksum.o differs Bootstrap comparison failure! gcc/trans-mem.o differs gcc/gimple-low.o differs gcc/sese.o differs make[5]: *** [compare] Error 1 Please make sure that your compiler used for bootstrap doesn't add anything to .comment section, which will disable debug compare. Thanks. -- H.J.