#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); }