[lto] PATCH: fill in code to merge declarations

Kenneth Zadeck zadeck@naturalbridge.com
Sat Sep 16 03:17:00 GMT 2006


Mark Mitchell wrote:
> Kenneth Zadeck wrote:
>> Mark Mitchell wrote:
>>> Sandra Loosemore wrote:
>>>
>>>> I haven't figured out how to test this yet -- when I try to run more
>>>> than one file through the driver with -x lto -c, it seems to want to
>>>> compile them separately instead of merging them.  Do I need some
>>>> other switch, or has this not been implemented yet?
>>> I will review the patch later today.  However, I think that "-combine"
>>> should work, e.g.:
>>>
>>>   gcc -x lto -c -combine a.o b.o
>>>
>>> Thanks,
>>>
>> i do not see how -combine can work since it will try to gimplify text
>> that has already been gimplified.
>
> That's an orthogonal issue.  All -combine does is tell the driver to
> pass all of the input "source files" (which, in the case of LTO, are
> what we usually call object files) to the front end at once, rather
> than in separate invocations.  The re-gimplification issue applies
> just as much for a single object file as for multiple object files.
>
> But, I'm not sure why re-gimplification is a problem, per se.  GIMPLE
> is presumably already valid GIMPLE, so the gimplifier should
> presumably leave it intact.  Are you just concerned about the wasted
> time, or do is there a correctness problem with re-gimplifying?
>
only correctness.  I am new to this and do know really know how
different all of the dialects interact.  If it will pass thru unchanged,
then it is certainly ok for now.  However, I have things like basic
blocks and the cfg, not a single list of statements and exception
regions already built, so if the gimplifier is going to get stuck on
these we will need to work on this.

kenny



More information about the Gcc-patches mailing list