v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
code-elimination-and-simplification-phase.cc
Go to the documentation of this file.
1
// Copyright 2023 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "
src/compiler/turboshaft/code-elimination-and-simplification-phase.h
"
6
7
#include "
src/compiler/js-heap-broker.h
"
8
#include "
src/compiler/turboshaft/copying-phase.h
"
9
#include "
src/compiler/turboshaft/dead-code-elimination-reducer.h
"
10
#include "
src/compiler/turboshaft/duplication-optimization-reducer.h
"
11
#include "
src/compiler/turboshaft/instruction-selection-normalization-reducer.h
"
12
#include "
src/compiler/turboshaft/load-store-simplification-reducer.h
"
13
#include "
src/compiler/turboshaft/phase.h
"
14
#include "
src/compiler/turboshaft/stack-check-lowering-reducer.h
"
15
16
#if V8_ENABLE_WEBASSEMBLY
17
#include "
src/compiler/turboshaft/wasm-js-lowering-reducer.h
"
18
#endif
19
20
namespace
v8::internal::compiler::turboshaft
{
21
22
void
CodeEliminationAndSimplificationPhase::Run
(
PipelineData
* data,
23
Zone
* temp_zone) {
24
UnparkedScopeIfNeeded
scope(data->broker(),
DEBUG_BOOL
);
25
26
CopyingPhase
<
DeadCodeEliminationReducer
,
StackCheckLoweringReducer
,
27
#if V8_ENABLE_WEBASSEMBLY
28
WasmJSLoweringReducer
,
29
#endif
30
LoadStoreSimplificationReducer
,
31
// We make sure that DuplicationOptimizationReducer runs after
32
// LoadStoreSimplificationReducer, so that it can optimize
33
// Loads/Stores produced by LoadStoreSimplificationReducer
34
// (which, for simplificy, doesn't use the Assembler helper
35
// methods, but only calls Next::ReduceLoad/Store).
36
DuplicationOptimizationReducer
,
37
InstructionSelectionNormalizationReducer
,
38
ValueNumberingReducer
>
::Run
(data, temp_zone);
39
}
40
41
}
// namespace v8::internal::compiler::turboshaft
v8::internal::Zone
Definition
zone.h:43
v8::internal::compiler::UnparkedScopeIfNeeded
Definition
js-heap-broker.h:548
v8::internal::compiler::turboshaft::CopyingPhase
Definition
copying-phase.h:1065
v8::internal::compiler::turboshaft::DeadCodeEliminationReducer
Definition
dead-code-elimination-reducer.h:419
v8::internal::compiler::turboshaft::DuplicationOptimizationReducer
Definition
duplication-optimization-reducer.h:73
v8::internal::compiler::turboshaft::InstructionSelectionNormalizationReducer
Definition
instruction-selection-normalization-reducer.h:30
v8::internal::compiler::turboshaft::LoadStoreSimplificationReducer
Definition
load-store-simplification-reducer.h:61
v8::internal::compiler::turboshaft::PipelineData
Definition
phase.h:177
v8::internal::compiler::turboshaft::StackCheckLoweringReducer
Definition
stack-check-lowering-reducer.h:22
v8::internal::compiler::turboshaft::ValueNumberingReducer
Definition
value-numbering-reducer.h:107
v8::internal::compiler::turboshaft::WasmJSLoweringReducer
Definition
wasm-js-lowering-reducer.h:27
code-elimination-and-simplification-phase.h
DEBUG_BOOL
#define DEBUG_BOOL
Definition
globals.h:87
copying-phase.h
dead-code-elimination-reducer.h
duplication-optimization-reducer.h
instruction-selection-normalization-reducer.h
js-heap-broker.h
load-store-simplification-reducer.h
v8::internal::compiler::turboshaft
Definition
builtins.h:33
stack-check-lowering-reducer.h
v8::internal::compiler::turboshaft::CodeEliminationAndSimplificationPhase::Run
void Run(PipelineData *data, Zone *temp_zone)
Definition
code-elimination-and-simplification-phase.cc:22
phase.h
wasm-js-lowering-reducer.h
src
compiler
turboshaft
code-elimination-and-simplification-phase.cc
Generated on Sun Apr 6 2025 21:08:52 for v8 by
1.12.0