Hi Tim, After your modification, codes become cleaner and should execute faster. Thanks for this refactoring! I've tried more tests on this patch, showing no regression. As I have no suggestions on code changes any more, can I commit your version directly? http://reviews.llvm.org/D4080