------- Additional Comments From dberlin at gcc dot gnu dot org 2004-12-12 04:59 ------- These are real regressions because we are losing information. In particular, when you replace D1360 <= 0 with n <= 1, we no longer can determine that D1360 is <= 1.
This would require a pretty powerful assertion framework (when we learn something about n, we'd have to know all expressions whose value depends on n, which seems a bit much) to make up for. I think for now we shouldn't combine before trying these transformations, or limit combine until at least after loop, for things like conditionals whose values have immediate uses in loop exit tests or something. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18940