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
127 void RemoveLoop(LoopNode* node);
131 bool TraverseLoopsInnerToOuter(LoopNode* node);
137 void SimplifyInduction(LoopNode* node);
138 void SimplifyBlocks(LoopNode* node);
142 bool TryOptimizeInnerLoopFinite(LoopNode* node);
145 bool OptimizeInnerLoop(LoopNode* node);
166 bool TryPeelingAndUnrolling(LoopNode* node);
172 bool ShouldVectorize(LoopNode* node, HBasicBlock* block, int64_t trip_count);
173 void Vectorize(LoopNode* node, HBasicBlock* block, HBasicBlock* exit, int64_t trip_count);
174 void GenerateNewLoop(LoopNode* node,
181 bool VectorizeDef(LoopNode* node, HInstruction* instruction, bool generate_code);
182 bool VectorizeUse(LoopNode* node,
206 bool VectorizeSaturationIdiom(LoopNode* node,
211 bool VectorizeHalvingAddIdiom(LoopNode* node,
216 bool VectorizeSADIdiom(LoopNode* node,
221 bool VectorizeDotProdIdiom(LoopNode* node,
280 LoopNode* top_loop_;
281 LoopNode* last_loop_;