http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54402
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-10-29 17:24:15 UTC --- Created attachment 28563 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28563 gcc48-pr54402-2.patch Just for completeness, I'm attaching my earlier attempt to fix the reflect/check compile time, but unfortunately that only gave speedup from around 49minutes to 19minutes. With the huge number of locs values before gcc48-pr54402.patch the problem was that find_base_term was extremely expensive, and not cached in any way. Once var-tracking finishes initialization, what is find_base_term of some value shouldn't IMHO change.