Definition at line 1757 of file redundancy_elimination.cc.
◆ LoadOptimizer()
Definition at line 1759 of file redundancy_elimination.cc.
1760 : graph_(graph),
1761 aliased_set_(aliased_set),
1765 kill_(graph_->
preorder().length()),
1766 exposed_values_(graph_->
preorder().length()),
1767 out_values_(graph_->
preorder().length()),
1768 phis_(5),
1769 worklist_(5),
1770 congruency_worklist_(6),
1771 in_worklist_(nullptr),
1772 forwarded_(false) {
1773 const intptr_t num_blocks = graph_->
preorder().length();
1774 for (intptr_t
i = 0;
i < num_blocks;
i++) {
1775 out_.Add(nullptr);
1779
1780 exposed_values_.Add(nullptr);
1781 out_values_.Add(nullptr);
1782 }
1783 }
intptr_t max_place_id() const
const GrowableArray< BlockEntryInstr * > & preorder() const
◆ ~LoadOptimizer()
dart::LoadOptimizer::~LoadOptimizer |
( |
| ) |
|
|
inline |
◆ OptimizeGraph()
static bool dart::LoadOptimizer::OptimizeGraph |
( |
FlowGraph * |
graph | ) |
|
|
inlinestatic |
Definition at line 1789 of file redundancy_elimination.cc.
1789 {
1791
1792
1793
1794 if (graph->is_huge_method()) {
1795 return false;
1796 }
1797
1798 PointerSet<Place>
map;
1800 if ((aliased_set != nullptr) && !aliased_set->IsEmpty()) {
1801
1802
1803
1804
1805
1806
1808 return load_optimizer.Optimize();
1809 }
1810 return false;
1811 }
LoadOptimizer(FlowGraph *graph, AliasedSet *aliased_set)
static AliasedSet * NumberPlaces(FlowGraph *graph, PointerSet< Place > *map, CSEMode mode)
SI auto map(std::index_sequence< I... >, Fn &&fn, const Args &... args) -> skvx::Vec< sizeof...(I), decltype(fn(args[0]...))>
◆ zone()
Zone * dart::LoadOptimizer::zone |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following file: