Options to disable specific optimizations in TurboFan?

31 views
Skip to first unread message

TL

unread,
Aug 25, 2022, 10:18:42 PM8/25/22
to v8-users
I am curious whether there are any options for the 'd8' to disable specific TurboFan 
optimizations, e.g., simplified-lowering, type-lowering, etc, for all the optimization 
options or not. I know there are options for some optimizations, such as
escape-analysis, loop-peeling, etc. But, can we have control of "all" the optimizations
without actually modifying the v8 source code? 

Jakob Kummerow

unread,
Aug 26, 2022, 4:58:37 AM8/26/22
to v8-users
No, some Turbofan passes cannot be disabled, because they are required. SimplifiedLowering is a great example -- it changes ("lowers") the graph to the format that subsequent passes require.


--
--
v8-users mailing list
v8-u...@googlegroups.com
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups "v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/a46e6020-a1c7-48da-b4fb-ccc394d618dbn%40googlegroups.com.

TL

unread,
Aug 26, 2022, 10:22:50 AM8/26/22
to v8-users
That makes sense.
Thank you for your answer.

Terrence Lim

unread,
Aug 30, 2022, 9:37:06 AM8/30/22
to v8-u...@googlegroups.com
Hi Jakob,

I came across a follow-up question regarding the optimization phases.
What would happen (assume that we can) if we forcefully disable the mandatory phases, e.g., SimplifiedLowering?
Will the JIT compiler fail (crash) during the compilation?

Thanks! Regards



--
HeuiChan (Terrence) Lim
PhD Student
Computer Science
The University of Arizona

Jakob Kummerow

unread,
Aug 30, 2022, 10:05:19 AM8/30/22
to v8-users
On Tue, Aug 30, 2022 at 3:37 PM Terrence Lim <heuich...@gmail.com> wrote:
Hi Jakob,

I came across a follow-up question regarding the optimization phases.
What would happen (assume that we can) if we forcefully disable the mandatory phases, e.g., SimplifiedLowering?
Will the JIT compiler fail (crash) during the compilation?

Yes.

Think of the different IR levels as different languages. They need to be translated ("lowered") into each other, and that chain must be complete. The translation steps in the middle are just as essential as translating from the input format to a high-level IR graph at the beginning, and translating from a low-level IR graph to machine code at the very end.

Terrence Lim

unread,
Aug 30, 2022, 11:00:59 AM8/30/22
to v8-u...@googlegroups.com
That's what I roughly thought.
Thank you very much for your explanation.

--
--
v8-users mailing list
v8-u...@googlegroups.com
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups "v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages