v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::turboshaft::WasmRevecAnalyzer Class Reference

#include <wasm-revec-reducer.h>

Collaboration diagram for v8::internal::compiler::turboshaft::WasmRevecAnalyzer:

Public Member Functions

 WasmRevecAnalyzer (PipelineData *data, Zone *zone, Graph &graph)
 
void Run ()
 
void MergeSLPTree (SLPTree &slp_tree)
 
bool ShouldReduce () const
 
PackNodeGetPackNode (const OpIndex ig_index)
 
ZoneVector< PackNode * > * GetIntersectPackNodes (const OpIndex node)
 
const OpIndex GetReducedInput (const PackNode *pnode, const int index=0)
 
const OperationGetStartOperation (const PackNode *pnode, const OpIndex node, const Operation &op)
 
base::Vector< const OpIndexuses (OpIndex node)
 

Private Member Functions

bool IsSupportedReduceSeed (const Operation &op)
 
void ProcessBlock (const Block &block)
 
bool DecideVectorize ()
 
void Print (const char *info)
 

Private Attributes

PipelineDatadata_
 
Graphgraph_
 
Zonephase_zone_
 
ZoneVector< std::pair< OpIndex, OpIndex > > store_seeds_
 
ZoneVector< std::pair< OpIndex, OpIndex > > reduce_seeds_
 
const wasm::WasmModulemodule_ = data_->wasm_module()
 
ZoneUnorderedMap< OpIndex, PackNode * > revectorizable_node_
 
ZoneUnorderedMap< OpIndex, ZoneVector< PackNode * > > revectorizable_intersect_node_
 
bool should_reduce_
 
SimdUseMapuse_map_
 

Detailed Description

Definition at line 586 of file wasm-revec-reducer.h.

Constructor & Destructor Documentation

◆ WasmRevecAnalyzer()

v8::internal::compiler::turboshaft::WasmRevecAnalyzer::WasmRevecAnalyzer ( PipelineData * data,
Zone * zone,
Graph & graph )
inline

Definition at line 588 of file wasm-revec-reducer.h.

Here is the call graph for this function:

Member Function Documentation

◆ DecideVectorize()

bool v8::internal::compiler::turboshaft::WasmRevecAnalyzer::DecideVectorize ( )
private

Definition at line 1452 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ GetIntersectPackNodes()

ZoneVector< PackNode * > * v8::internal::compiler::turboshaft::WasmRevecAnalyzer::GetIntersectPackNodes ( const OpIndex node)
inline

Definition at line 614 of file wasm-revec-reducer.h.

Here is the caller graph for this function:

◆ GetPackNode()

PackNode * v8::internal::compiler::turboshaft::WasmRevecAnalyzer::GetPackNode ( const OpIndex ig_index)
inline

Definition at line 606 of file wasm-revec-reducer.h.

Here is the caller graph for this function:

◆ GetReducedInput()

const OpIndex v8::internal::compiler::turboshaft::WasmRevecAnalyzer::GetReducedInput ( const PackNode * pnode,
const int index = 0 )
inline

Definition at line 622 of file wasm-revec-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStartOperation()

const Operation & v8::internal::compiler::turboshaft::WasmRevecAnalyzer::GetStartOperation ( const PackNode * pnode,
const OpIndex node,
const Operation & op )
inline

Definition at line 629 of file wasm-revec-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsSupportedReduceSeed()

bool v8::internal::compiler::turboshaft::WasmRevecAnalyzer::IsSupportedReduceSeed ( const Operation & op)
private

Definition at line 1326 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ MergeSLPTree()

void v8::internal::compiler::turboshaft::WasmRevecAnalyzer::MergeSLPTree ( SLPTree & slp_tree)

Definition at line 1306 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ Print()

void v8::internal::compiler::turboshaft::WasmRevecAnalyzer::Print ( const char * info)
private

Definition at line 1514 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ ProcessBlock()

void v8::internal::compiler::turboshaft::WasmRevecAnalyzer::ProcessBlock ( const Block & block)
private

Definition at line 1339 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ Run()

void v8::internal::compiler::turboshaft::WasmRevecAnalyzer::Run ( )

Definition at line 1391 of file wasm-revec-reducer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShouldReduce()

bool v8::internal::compiler::turboshaft::WasmRevecAnalyzer::ShouldReduce ( ) const
inline

Definition at line 604 of file wasm-revec-reducer.h.

Here is the caller graph for this function:

◆ uses()

base::Vector< const OpIndex > v8::internal::compiler::turboshaft::WasmRevecAnalyzer::uses ( OpIndex node)
inline

Definition at line 636 of file wasm-revec-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ data_

PipelineData* v8::internal::compiler::turboshaft::WasmRevecAnalyzer::data_
private

Definition at line 646 of file wasm-revec-reducer.h.

◆ graph_

Graph& v8::internal::compiler::turboshaft::WasmRevecAnalyzer::graph_
private

Definition at line 647 of file wasm-revec-reducer.h.

◆ module_

const wasm::WasmModule* v8::internal::compiler::turboshaft::WasmRevecAnalyzer::module_ = data_->wasm_module()
private

Definition at line 651 of file wasm-revec-reducer.h.

◆ phase_zone_

Zone* v8::internal::compiler::turboshaft::WasmRevecAnalyzer::phase_zone_
private

Definition at line 648 of file wasm-revec-reducer.h.

◆ reduce_seeds_

ZoneVector<std::pair<OpIndex, OpIndex> > v8::internal::compiler::turboshaft::WasmRevecAnalyzer::reduce_seeds_
private

Definition at line 650 of file wasm-revec-reducer.h.

◆ revectorizable_intersect_node_

ZoneUnorderedMap<OpIndex, ZoneVector<PackNode*> > v8::internal::compiler::turboshaft::WasmRevecAnalyzer::revectorizable_intersect_node_
private

Definition at line 654 of file wasm-revec-reducer.h.

◆ revectorizable_node_

ZoneUnorderedMap<OpIndex, PackNode*> v8::internal::compiler::turboshaft::WasmRevecAnalyzer::revectorizable_node_
private

Definition at line 652 of file wasm-revec-reducer.h.

◆ should_reduce_

bool v8::internal::compiler::turboshaft::WasmRevecAnalyzer::should_reduce_
private

Definition at line 655 of file wasm-revec-reducer.h.

◆ store_seeds_

ZoneVector<std::pair<OpIndex, OpIndex> > v8::internal::compiler::turboshaft::WasmRevecAnalyzer::store_seeds_
private

Definition at line 649 of file wasm-revec-reducer.h.

◆ use_map_

SimdUseMap* v8::internal::compiler::turboshaft::WasmRevecAnalyzer::use_map_
private

Definition at line 656 of file wasm-revec-reducer.h.


The documentation for this class was generated from the following files: