next up previous
Next: Node * peel_loop (loopNode Up: Class Definition Previous: Class Definition

Node * at_loop (loopNode *, Order);

#include "c_breeze.h"
#include "ast.h"
#include "ref_clone_changer.h"
#include "looppeel.h"

// Peel each loop we encounter.  This may not be a good criterion for loop 
// peeling, but it demonstrates the code.  Subclass off of LoopPeelingChanger 
// to implement your own loop peeling policy.  (Note: this depends on the 
// LoopPeelingChanger only visiting the parse tree in postorder; preorder 
// would cause it to peel loops that had just been peeled, ad infinitum.)

Node * LoopPeelingChanger::at_loop (loopNode *p, Order) {
        return peel_loop (p);
}



Adam C. Brown 2006-01-26