v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-dead-code-elimination-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/wasm-dead-code-elimination-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/growable-stacks-reducer.h
"
12
#include "
src/compiler/turboshaft/instruction-selection-normalization-reducer.h
"
13
#include "
src/compiler/turboshaft/load-store-simplification-reducer.h
"
14
#include "
src/compiler/turboshaft/phase.h
"
15
#include "
src/compiler/turboshaft/stack-check-lowering-reducer.h
"
16
#include "
src/compiler/turboshaft/value-numbering-reducer.h
"
17
18
namespace
v8::internal::compiler::turboshaft
{
19
20
void
WasmDeadCodeEliminationPhase::Run
(
PipelineData
* data,
Zone
* temp_zone) {
21
UnparkedScopeIfNeeded
scope(data->broker(),
DEBUG_BOOL
);
22
23
// The value numbering ensures that load with similar patterns in the complex
24
// loads can share those calculations.
25
CopyingPhase
<
DeadCodeEliminationReducer
,
StackCheckLoweringReducer
,
26
GrowableStacksReducer
,
LoadStoreSimplificationReducer
,
27
// We make sure that DuplicationOptimizationReducer runs after
28
// LoadStoreSimplificationReducer, so that it can optimize
29
// Loads/Stores produced by LoadStoreSimplificationReducer
30
// (which, for simplificy, doesn't use the Assembler helper
31
// methods, but only calls Next::ReduceLoad/Store).
32
DuplicationOptimizationReducer
,
33
InstructionSelectionNormalizationReducer
,
34
ValueNumberingReducer
>
::Run
(data, temp_zone);
35
}
36
37
}
// 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::GrowableStacksReducer
Definition
growable-stacks-reducer.h:22
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
DEBUG_BOOL
#define DEBUG_BOOL
Definition
globals.h:87
copying-phase.h
dead-code-elimination-reducer.h
duplication-optimization-reducer.h
growable-stacks-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::WasmDeadCodeEliminationPhase::Run
void Run(PipelineData *data, Zone *temp_zone)
Definition
wasm-dead-code-elimination-phase.cc:20
phase.h
value-numbering-reducer.h
wasm-dead-code-elimination-phase.h
src
compiler
turboshaft
wasm-dead-code-elimination-phase.cc
Generated on Sun Apr 6 2025 21:08:53 for v8 by
1.12.0