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

#include <revectorizer.h>

Inheritance diagram for v8::internal::compiler::Revectorizer:
Collaboration diagram for v8::internal::compiler::Revectorizer:

Public Member Functions

 Revectorizer (Zone *zone, TFGraph *graph, MachineGraph *mcgraph, SourcePositionTable *source_positions)
 
void DetectCPUFeatures ()
 
bool TryRevectorize (const char *name)
 

Private Member Functions

void CollectSeeds ()
 
bool ReduceStoreChains (ZoneMap< Node *, StoreNodeSet > *store_chains)
 
bool ReduceStoreChain (const ZoneVector< Node * > &Stores)
 
void PrintStores (ZoneMap< Node *, StoreNodeSet > *store_chains)
 
Zonezone () const
 
TFGraphgraph () const
 
MachineGraphmcgraph () const
 
PackNodeGetPackNode (Node *node) const
 
bool DecideVectorize ()
 
void SetEffectInput (PackNode *pnode, int index, Node *&nput)
 
void SetMemoryOpInputs (base::SmallVector< Node *, 2 > &inputs, PackNode *pnode, int index)
 
NodeVectorizeTree (PackNode *pnode)
 
void UpdateSources ()
 

Private Attributes

Zone *const zone_
 
TFGraph *const graph_
 
MachineGraph *const mcgraph_
 
ZoneMap< Node *, ZoneMap< Node *, StoreNodeSet > * > group_of_stores_
 
std::unordered_set< Node * > sources_
 
SLPTreeslp_tree_
 
SourcePositionTablesource_positions_
 
bool support_simd256_
 
compiler::NodeObservernode_observer_for_test_
 

Detailed Description

Definition at line 163 of file revectorizer.h.

Constructor & Destructor Documentation

◆ Revectorizer()

v8::internal::compiler::Revectorizer::Revectorizer ( Zone * zone,
TFGraph * graph,
MachineGraph * mcgraph,
SourcePositionTable * source_positions )

Definition at line 887 of file revectorizer.cc.

Here is the call graph for this function:

Member Function Documentation

◆ CollectSeeds()

void v8::internal::compiler::Revectorizer::CollectSeeds ( )
private

Definition at line 1355 of file revectorizer.cc.

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

◆ DecideVectorize()

bool v8::internal::compiler::Revectorizer::DecideVectorize ( )
private

Definition at line 901 of file revectorizer.cc.

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

◆ DetectCPUFeatures()

void v8::internal::compiler::Revectorizer::DetectCPUFeatures ( )

Definition at line 1292 of file revectorizer.cc.

Here is the caller graph for this function:

◆ GetPackNode()

PackNode * v8::internal::compiler::Revectorizer::GetPackNode ( Node * node) const
inlineprivate

Definition at line 182 of file revectorizer.h.

Here is the caller graph for this function:

◆ graph()

TFGraph * v8::internal::compiler::Revectorizer::graph ( ) const
inlineprivate

Definition at line 179 of file revectorizer.h.

Here is the caller graph for this function:

◆ mcgraph()

MachineGraph * v8::internal::compiler::Revectorizer::mcgraph ( ) const
inlineprivate

Definition at line 180 of file revectorizer.h.

Here is the caller graph for this function:

◆ PrintStores()

void v8::internal::compiler::Revectorizer::PrintStores ( ZoneMap< Node *, StoreNodeSet > * store_chains)
private

Definition at line 1440 of file revectorizer.cc.

Here is the caller graph for this function:

◆ ReduceStoreChain()

bool v8::internal::compiler::Revectorizer::ReduceStoreChain ( const ZoneVector< Node * > & Stores)
private

Definition at line 1406 of file revectorizer.cc.

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

◆ ReduceStoreChains()

bool v8::internal::compiler::Revectorizer::ReduceStoreChains ( ZoneMap< Node *, StoreNodeSet > * store_chains)
private

Definition at line 1382 of file revectorizer.cc.

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

◆ SetEffectInput()

void v8::internal::compiler::Revectorizer::SetEffectInput ( PackNode * pnode,
int index,
Node *& nput )
private

Definition at line 944 of file revectorizer.cc.

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

◆ SetMemoryOpInputs()

void v8::internal::compiler::Revectorizer::SetMemoryOpInputs ( base::SmallVector< Node *, 2 > & inputs,
PackNode * pnode,
int index )
private

Definition at line 965 of file revectorizer.cc.

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

◆ TryRevectorize()

bool v8::internal::compiler::Revectorizer::TryRevectorize ( const char * name)

Definition at line 1299 of file revectorizer.cc.

Here is the call graph for this function:

◆ UpdateSources()

void v8::internal::compiler::Revectorizer::UpdateSources ( )
private

Definition at line 1322 of file revectorizer.cc.

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

◆ VectorizeTree()

Node * v8::internal::compiler::Revectorizer::VectorizeTree ( PackNode * pnode)
private

Definition at line 977 of file revectorizer.cc.

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

◆ zone()

Zone * v8::internal::compiler::Revectorizer::zone ( ) const
inlineprivate

Definition at line 178 of file revectorizer.h.

Here is the caller graph for this function:

Member Data Documentation

◆ graph_

TFGraph* const v8::internal::compiler::Revectorizer::graph_
private

Definition at line 195 of file revectorizer.h.

◆ group_of_stores_

ZoneMap<Node*, ZoneMap<Node*, StoreNodeSet>*> v8::internal::compiler::Revectorizer::group_of_stores_
private

Definition at line 197 of file revectorizer.h.

◆ mcgraph_

MachineGraph* const v8::internal::compiler::Revectorizer::mcgraph_
private

Definition at line 196 of file revectorizer.h.

◆ node_observer_for_test_

compiler::NodeObserver* v8::internal::compiler::Revectorizer::node_observer_for_test_
private

Definition at line 204 of file revectorizer.h.

◆ slp_tree_

SLPTree* v8::internal::compiler::Revectorizer::slp_tree_
private

Definition at line 199 of file revectorizer.h.

◆ source_positions_

SourcePositionTable* v8::internal::compiler::Revectorizer::source_positions_
private

Definition at line 200 of file revectorizer.h.

◆ sources_

std::unordered_set<Node*> v8::internal::compiler::Revectorizer::sources_
private

Definition at line 198 of file revectorizer.h.

◆ support_simd256_

bool v8::internal::compiler::Revectorizer::support_simd256_
private

Definition at line 202 of file revectorizer.h.

◆ zone_

Zone* const v8::internal::compiler::Revectorizer::zone_
private

Definition at line 194 of file revectorizer.h.


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