http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60090
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I believe we strive for the warnings be independent of the optimization level, but it's not always possible, we have tons of bugs where -Wuninitialized depends on the optimization level, sometimes -Warray-bounds warns only on -O3, some warnings depend on VRP or SRA, on -O some uses are constant-propagated etc. In the middle-end we often warn only about variables in SSA form which are made, as a part of some optimization, non-addressable.