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

#include <wasm-shuffle-reducer.h>

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

Public Member Functions

 WasmShuffleAnalyzer (Zone *phase_zone, const Graph &input_graph)
 
V8_EXPORT_PRIVATE void Run ()
 
void Process (const Operation &op)
 
void ProcessUnary (const Simd128UnaryOp &unop)
 
void ProcessBinary (const Simd128BinopOp &binop)
 
void ProcessShuffle (const Simd128ShuffleOp &shuffle_op)
 
void ProcessShuffleOfShuffle (const Simd128ShuffleOp &shuffle_op, const Simd128ShuffleOp &shuffle, uint8_t lower_limit, uint8_t upper_limit)
 
bool ShouldReduce () const
 
const DemandedElementAnalysis::DemandedElementMapops_to_reduce () const
 
std::optional< DemandedElementAnalysis::LaneBitSetDemandedByteLanes (const Operation *op) const
 
bool ShouldRewriteShuffleToLow (const Simd128ShuffleOp *shuffle) const
 
bool DoesShuffleIntoLowHalf (const Simd128ShuffleOp *shuffle) const
 
bool DoesShuffleIntoHighHalf (const Simd128ShuffleOp *shuffle) const
 
const Graphinput_graph () const
 

Private Attributes

Zonephase_zone_
 
const Graphinput_graph_
 
DemandedElementAnalysis demanded_element_analysis {phase_zone_, input_graph_}
 
SmallShuffleVector shift_shuffles_ {phase_zone_}
 
SmallShuffleVector low_half_shuffles_ {phase_zone_}
 
SmallShuffleVector high_half_shuffles_ {phase_zone_}
 

Detailed Description

Definition at line 76 of file wasm-shuffle-reducer.h.

Constructor & Destructor Documentation

◆ WasmShuffleAnalyzer()

v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::WasmShuffleAnalyzer ( Zone * phase_zone,
const Graph & input_graph )
inline

Definition at line 88 of file wasm-shuffle-reducer.h.

Here is the call graph for this function:

Member Function Documentation

◆ DemandedByteLanes()

std::optional< DemandedElementAnalysis::LaneBitSet > v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::DemandedByteLanes ( const Operation * op) const
inline

Definition at line 124 of file wasm-shuffle-reducer.h.

Here is the call graph for this function:

◆ DoesShuffleIntoHighHalf()

bool v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::DoesShuffleIntoHighHalf ( const Simd128ShuffleOp * shuffle) const
inline

Definition at line 166 of file wasm-shuffle-reducer.h.

◆ DoesShuffleIntoLowHalf()

bool v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::DoesShuffleIntoLowHalf ( const Simd128ShuffleOp * shuffle) const
inline

Definition at line 155 of file wasm-shuffle-reducer.h.

◆ input_graph()

const Graph & v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::input_graph ( ) const
inline

Definition at line 187 of file wasm-shuffle-reducer.h.

Here is the caller graph for this function:

◆ ops_to_reduce()

const DemandedElementAnalysis::DemandedElementMap & v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ops_to_reduce ( ) const
inline

Definition at line 120 of file wasm-shuffle-reducer.h.

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

◆ Process()

void v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::Process ( const Operation & op)

Definition at line 94 of file wasm-shuffle-reducer.cc.

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

◆ ProcessBinary()

void v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ProcessBinary ( const Simd128BinopOp & binop)

Definition at line 119 of file wasm-shuffle-reducer.cc.

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

◆ ProcessShuffle()

void v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ProcessShuffle ( const Simd128ShuffleOp & shuffle_op)

Definition at line 381 of file wasm-shuffle-reducer.cc.

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

◆ ProcessShuffleOfShuffle()

void v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ProcessShuffleOfShuffle ( const Simd128ShuffleOp & shuffle_op,
const Simd128ShuffleOp & shuffle,
uint8_t lower_limit,
uint8_t upper_limit )

Definition at line 123 of file wasm-shuffle-reducer.cc.

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

◆ ProcessUnary()

void v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ProcessUnary ( const Simd128UnaryOp & unop)

Definition at line 115 of file wasm-shuffle-reducer.cc.

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

◆ Run()

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

Definition at line 81 of file wasm-shuffle-reducer.cc.

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

◆ ShouldReduce()

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

Definition at line 112 of file wasm-shuffle-reducer.h.

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

◆ ShouldRewriteShuffleToLow()

bool v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::ShouldRewriteShuffleToLow ( const Simd128ShuffleOp * shuffle) const
inline

Definition at line 137 of file wasm-shuffle-reducer.h.

Member Data Documentation

◆ demanded_element_analysis

DemandedElementAnalysis v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::demanded_element_analysis {phase_zone_, input_graph_}
private

Definition at line 209 of file wasm-shuffle-reducer.h.

◆ high_half_shuffles_

SmallShuffleVector v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::high_half_shuffles_ {phase_zone_}
private

Definition at line 212 of file wasm-shuffle-reducer.h.

◆ input_graph_

const Graph& v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::input_graph_
private

Definition at line 208 of file wasm-shuffle-reducer.h.

◆ low_half_shuffles_

SmallShuffleVector v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::low_half_shuffles_ {phase_zone_}
private

Definition at line 211 of file wasm-shuffle-reducer.h.

◆ phase_zone_

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

Definition at line 207 of file wasm-shuffle-reducer.h.

◆ shift_shuffles_

SmallShuffleVector v8::internal::compiler::turboshaft::WasmShuffleAnalyzer::shift_shuffles_ {phase_zone_}
private

Definition at line 210 of file wasm-shuffle-reducer.h.


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