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

#include <loop-finder.h>

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

Classes

struct  BlockCmp
 
struct  LoopInfo
 

Public Member Functions

 LoopFinder (Zone *phase_zone, const Graph *input_graph)
 
const ZoneUnorderedMap< const Block *, LoopInfo > & LoopHeaders () const
 
const BlockGetLoopHeader (const Block *block) const
 
LoopInfo GetLoopInfo (const Block *block) const
 
ZoneSet< const Block *, BlockCmpGetLoopBody (const Block *loop_header)
 

Private Member Functions

void Run ()
 
LoopInfo VisitLoop (const Block *header)
 

Private Attributes

Zonephase_zone_
 
const Graphinput_graph_
 
FixedBlockSidetable< const Block * > loop_headers_
 
ZoneUnorderedMap< const Block *, LoopInfoloop_header_info_
 
ZoneVector< const Block * > queue_
 

Detailed Description

Definition at line 15 of file loop-finder.h.

Constructor & Destructor Documentation

◆ LoopFinder()

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

Definition at line 59 of file loop-finder.h.

Member Function Documentation

◆ GetLoopBody()

ZoneSet< const Block *, LoopFinder::BlockCmp > v8::internal::compiler::turboshaft::LoopFinder::GetLoopBody ( const Block * loop_header)

Definition at line 76 of file loop-finder.cc.

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

◆ GetLoopHeader()

const Block * v8::internal::compiler::turboshaft::LoopFinder::GetLoopHeader ( const Block * block) const
inline

Definition at line 71 of file loop-finder.h.

Here is the caller graph for this function:

◆ GetLoopInfo()

LoopInfo v8::internal::compiler::turboshaft::LoopFinder::GetLoopInfo ( const Block * block) const
inline

Definition at line 74 of file loop-finder.h.

Here is the caller graph for this function:

◆ LoopHeaders()

const ZoneUnorderedMap< const Block *, LoopInfo > & v8::internal::compiler::turboshaft::LoopFinder::LoopHeaders ( ) const
inline

Definition at line 68 of file loop-finder.h.

Here is the caller graph for this function:

◆ Run()

void v8::internal::compiler::turboshaft::LoopFinder::Run ( )
private

Definition at line 9 of file loop-finder.cc.

Here is the call graph for this function:

◆ VisitLoop()

LoopFinder::LoopInfo v8::internal::compiler::turboshaft::LoopFinder::VisitLoop ( const Block * header)
private

Definition at line 21 of file loop-finder.cc.

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

Member Data Documentation

◆ input_graph_

const Graph* v8::internal::compiler::turboshaft::LoopFinder::input_graph_
private

Definition at line 93 of file loop-finder.h.

◆ loop_header_info_

ZoneUnorderedMap<const Block*, LoopInfo> v8::internal::compiler::turboshaft::LoopFinder::loop_header_info_
private

Definition at line 107 of file loop-finder.h.

◆ loop_headers_

FixedBlockSidetable<const Block*> v8::internal::compiler::turboshaft::LoopFinder::loop_headers_
private

Definition at line 103 of file loop-finder.h.

◆ phase_zone_

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

Definition at line 92 of file loop-finder.h.

◆ queue_

ZoneVector<const Block*> v8::internal::compiler::turboshaft::LoopFinder::queue_
private

Definition at line 111 of file loop-finder.h.


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