Hey Deon,

The whole so called "typed pipeline" (initially enabled via --turbo-types)
is optional in theory, which means that only the "generic pipeline"
(consisting only of graph building and generic lowering) runs. This doesn't
make sense in practice though as the generated code is then sometimes worse
than fullcodegen, plus we don't fully test this configuration so it might
as well be broken.

For the individual lowering passes, almost all reducers are optional except
for the core of the lowering, i.e. ChangeLowering in the change lowering
phase, and the DeadCodeElimination reducer whenever an AdvancedReducer is
involved (otherwise Dead will not be propagated through the graph and the
next pass will fail).

We're aware that compilation time is an issue with TurboFan and it might
even get worse (temporarily) as we add more necessary optimization passes.
We're looking into ways to reduce overall compilation overhead and already
landed some mitigations, for example the recent introduction of
DeoptimizeIf and DeoptimizeUnless.

HTH,
Benedikt

Deon Dior <[email protected]> schrieb am Mo., 29. Feb. 2016, 21:29:

> I studied Turbofan compiler a little bit recently and realized that are
> many optimization phases. I am wondering what are the minimal set of phases
> to get things functionally correct. That will help me to understand how
> each optimization helps.
> I am guessing a lot of the reducers are optional. For example, in Change
> Lowering, there are six reducers:
>
>    -
>       - Dead Code Elimination
>       - Simplified Operator Reducer
>       - Value Numbering
>       - Change Lowering
>       - Machine Operator Reducer
>       - Common Operator Reducer
>
> On the other hand, as Turbofan is not matching Crankshaft's performance
> yet. I think more optimizations will be added. That brings my concern on
> compilation time. Is compilation time something important for Turbofan? Are
> there different optimization levels, such as -O0, -O2 to make tradeoffs?
>
> Many thanks!
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to