GCC Middle and Back End API Reference
|
Public Member Functions | |
split_info () | |
~split_info () | |
Data Fields | |
basic_block * | bbs |
auto_vec< gimple * > | memory_stores |
int | need_init |
auto_vec< hash_set< basic_block > * > | control_deps |
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.
|
inline |
|
inline |
References bbs, control_deps, free(), and i.
basic_block* split_info::bbs |
Referenced by split_loop_on_cond(), and ~split_info().
auto_vec<hash_set<basic_block> *> split_info::control_deps |
Referenced by ~split_info().
Referenced by find_vdef_in_loop(), and vuse_semi_invariant_p().
int split_info::need_init |
Referenced by find_vdef_in_loop(), and vuse_semi_invariant_p().