Lines Matching refs:LoopNode
54 struct LoopNode : public ArenaObject<kArenaAllocLoopOptimization> { struct
55 explicit LoopNode(HLoopInformation* lp_info) in LoopNode() function
62 LoopNode* outer; argument
63 LoopNode* inner; argument
64 LoopNode* previous; argument
65 LoopNode* next; argument
128 void RemoveLoop(LoopNode* node);
132 bool TraverseLoopsInnerToOuter(LoopNode* node);
138 void SimplifyInduction(LoopNode* node);
139 void SimplifyBlocks(LoopNode* node);
143 bool TryOptimizeInnerLoopFinite(LoopNode* node);
146 bool OptimizeInnerLoop(LoopNode* node);
167 bool TryPeelingAndUnrolling(LoopNode* node);
173 bool ShouldVectorize(LoopNode* node, HBasicBlock* block, int64_t trip_count);
174 void Vectorize(LoopNode* node, HBasicBlock* block, HBasicBlock* exit, int64_t trip_count);
175 void GenerateNewLoop(LoopNode* node,
182 bool VectorizeDef(LoopNode* node, HInstruction* instruction, bool generate_code);
183 bool VectorizeUse(LoopNode* node,
215 bool VectorizeSaturationIdiom(LoopNode* node,
220 bool VectorizeHalvingAddIdiom(LoopNode* node,
225 bool VectorizeSADIdiom(LoopNode* node,
230 bool VectorizeDotProdIdiom(LoopNode* node,
294 LoopNode* top_loop_;
295 LoopNode* last_loop_;