This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [trunk<-vta] Re: [vtab] Permit coalescing of user variables


Ian Lance Taylor wrote:
Alexandre Oliva <aoliva@redhat.com> writes:

+@item -ftree-coalesce-inlined-vars
+Permit the copyrename pass to subject inlined variables to coalescing
+into other variables. This may harm debug information of such inlined
+variables, but it will keep variables of the main function apart from
+each other, such that they are more likely to contain the expected
+values in a debugging session. This option is enabled by default.
+
+@item -ftree-coalesce-vars
+Permit the copyrename pass to subject all variables to SSA coalescing.
+This may severely limit the ability to debug a program. In the negated
+form, this flag prevents SSA coalescing of user variables, including
+inlined ones.

If we are going to have these options, the documentation needs to be better. You have written it from the compiler implementor's point of view. You need to rewrite the docs from the user's point of view: what are the user visible effects of these options?

Also the option names are from the implementor's point of view rather
than the user's point of view. No ordinary user will ever use an option
named -ftree-coaelesce-inlined-vars, which raises the question of
whether we need the option at all.
I don't think we need the options. Is there a reason we can't leave the current default behaviour the way it is, and have the VTA code simple enable the "best" choices for it. (which I think means coalesce everything...)

Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]