http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54402
--- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-12 22:21:57 UTC --- Created attachment 28942 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28942 --param max-vartrack-reverse-op-size patch Another patch, to avoid adding reverse ops to VALUEs that already have lots of locs, assuming for such locs it is unlikely going to be useful. With the default of 50 (+ the previous sparc hack) in x86_64 -> sparc-solaris cross the go1 testcase compiled in about 1.5 minutes, with 10 instead in 50 seconds or so, with 100 in 3 minutes, etc. I've performed x86_64-linux and i686-linux bootstraps with the patch defaulting to 50 (as here) as well as 1000 and the .debug_info and .debug_loc sizes of cc1plus, libstdc++.so.6 and go1 were identical, thus I hope it won't affect debug info quality too much with the default of 50. Alex, what do you think about this? Or should we count just some locations, like the same rtx code as reverse_op would create?