equal
deleted
inserted
replaced
369 RootNode *_root; // Root of whole program |
369 RootNode *_root; // Root of whole program |
370 Block_Array _bbs; // Map Nodes to owning Basic Block |
370 Block_Array _bbs; // Map Nodes to owning Basic Block |
371 Block *_broot; // Basic block of root |
371 Block *_broot; // Basic block of root |
372 uint _rpo_ctr; |
372 uint _rpo_ctr; |
373 CFGLoop* _root_loop; |
373 CFGLoop* _root_loop; |
|
374 float _outer_loop_freq; // Outmost loop frequency |
374 |
375 |
375 // Per node latency estimation, valid only during GCM |
376 // Per node latency estimation, valid only during GCM |
376 GrowableArray<uint> _node_latency; |
377 GrowableArray<uint> _node_latency; |
377 |
378 |
378 #ifndef PRODUCT |
379 #ifndef PRODUCT |
535 } |
536 } |
536 Block* backedge_block(); // Return the block on the backedge of the loop (else NULL) |
537 Block* backedge_block(); // Return the block on the backedge of the loop (else NULL) |
537 void compute_loop_depth(int depth); |
538 void compute_loop_depth(int depth); |
538 void compute_freq(); // compute frequency with loop assuming head freq 1.0f |
539 void compute_freq(); // compute frequency with loop assuming head freq 1.0f |
539 void scale_freq(); // scale frequency by loop trip count (including outer loops) |
540 void scale_freq(); // scale frequency by loop trip count (including outer loops) |
|
541 float outer_loop_freq() const; // frequency of outer loop |
540 bool in_loop_nest(Block* b); |
542 bool in_loop_nest(Block* b); |
541 float trip_count() const { return 1.0f / _exit_prob; } |
543 float trip_count() const { return 1.0f / _exit_prob; } |
542 virtual bool is_loop() { return true; } |
544 virtual bool is_loop() { return true; } |
543 int id() { return _id; } |
545 int id() { return _id; } |
544 |
546 |