Just a couple of things: LABELED_BLOCK_EXPR and EXIT_BLOCK_EXPR are in the backend tree.def, so the gimplification code for them should be, too. Did you respond to the question about when you do inlining? Surely you could do it between gimplify and optimize_function_tree. Jason