Actually exit domination wouldn't save the day. E.g. void f() { char *p; ... do { p = alloca(100); g(p); } while(whatever); ... } http://reviews.llvm.org/D6055