C++ PATCH to integrate c++-delayed-folding branch

Alan Lawrence alan.lawrence@arm.com
Tue Nov 17 14:09:00 GMT 2015


On 14/11/15 00:07, Jason Merrill wrote:
> And here's the final patch integrating the delayed folding branch.  The general
> idea is to mostly avoid folding until the end of the function, at which point we
> fold everything as part of genericization.  Since many warnings rely on looking
> at folded trees, we fold the arguments that we pass to the various warning
> functions.  To avoid issues with combinatorial explosion, we cache the results
> of folding in a hash_map.
>
> In the future we probably want to move many of these warnings into
> language-independent code so we can avoid folding for them in the front end; we
> also shouldn't need to fold during genericization, but apparently not doing that
> leads to optimization regressions.
>
> This is mostly Kai's work; I just cleaned it up a bit to get it ready for the
> merge.  Marek also helped some.  The largest change is hooking into the GTY
> machinery to handle throwing away the folding cache rather than trying to do it
> manually in various places.
>
> Tested x86_64-pc-linux-gnu, applying to trunk.

Also PR68385 (arm-none-eabi).



More information about the Gcc-patches mailing list