GCC Middle and Back End API Reference
split_info Class Reference
Collaboration diagram for split_info:

Public Member Functions

 split_info ()
 
 ~split_info ()
 

Data Fields

basic_blockbbs
 
auto_vec< gimple * > memory_stores
 
int need_init
 
auto_vec< hash_set< basic_block > * > control_deps
 

Detailed Description

Another transformation of loops like: for (i = INIT (); CHECK (i); i = NEXT ()) { if (expr (a_1, a_2, ..., a_n)) // expr is pure a_j = ...; // change at least one a_j else S; // not change any a_j } into: for (i = INIT (); CHECK (i); i = NEXT ()) { if (expr (a_1, a_2, ..., a_n)) a_j = ...; else { S; i = NEXT (); break; } } for (; CHECK (i); i = NEXT ()) { S; }
Data structure to hold temporary information during loop split upon semi-invariant conditional statement.

Constructor & Destructor Documentation

◆ split_info()

split_info::split_info ( )
inline

References bbs, need_init, NULL, and true.

◆ ~split_info()

split_info::~split_info ( )
inline

References bbs, control_deps, free(), and i.

Field Documentation

◆ bbs

basic_block* split_info::bbs

◆ control_deps

auto_vec<hash_set<basic_block> *> split_info::control_deps

Referenced by ~split_info().

◆ memory_stores

auto_vec<gimple *> split_info::memory_stores

◆ need_init

int split_info::need_init

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