This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: O0 cleanup_cfg vs debuggability
Daniel Jacobowitz wrote:
> Absolutely. Don't conditionalize it on -g; conditionalize it on
> !optimize.
Thanks for the prompt feedback.
That's actually what I did, which unfortunately doesn't change much because
no -g also implies no line number notes, whatever the optimize value.
A possible alternative is to always return false if !optimize, which seems
a bit too fierce in first approximation.
The other way out is to avoid edge forwarding if "some_condition",
with some_condition resolving to !optimize.
It's certainly possible to literally express some_condition as !optimize. I
thought some "mode" based expression would have been preferrable, although
I have no strong feeling about this.
Currently, a mode based expression would be a test against CLEANUP_EXPENSIVE,
which I'm not sure would properly convey the real intent from a code reader's
perspective. This is why I mentioned something like CLEANUP_CONSERVATIVE in
the initial message, which could be useful later on if a similar issue
happens to show up out of another transformation.
What do you think ?