On 14.09.2018 at 0:44 user Richard Yao <r...@gentoo.org> wrote:
> This is a really odd design decision by the GCC developers. With other 
> compilers, the separation between front end and backend is strong enough that 
> you will never have this sort of thing. It does not seem necessary to me 
> either. :/

You might be able to perform certain additional data/control flow analysis 
after things like inlining, dead code removal or devirtualization.

Moving that logic to the frontend would require essentially duplicating what's 
the optimizer's gonna do anyway, which might have negative effects on 
compilation times (both with and without optimizations) and compiler code 
maintenance.

BTW I'm not sure the separation on backend/frontend makes sense for modern C++ 
compilers. clang surely does some optimizations, and llvm (at least, in theory) 
is certainly able to find certain issues after more optimizer passes.



-- 
  Georg Rudoy


Reply via email to