void print(Printer& p, Define_decl const* d) { print_function(p, d, "define"); print_space(p); print(p, '{'); print_nested(p, d->blocks()); print(p, '}'); }
void print_nested( const T &to_print, std::stringstream &ss ) { ss << "\n[ "; for( auto &p : to_print ) { print_nested( p, ss ); ss << " "; } ss << " ]\n"; }
// Print the instructions of a basic block. void print(Printer& p, Block const* b) { print(p, "{}:", b->label()); print_nested(p, b->instructions()); }