Is there a reason that BlockExtractorPass is duplicated? See tools/ Bugpoint/ExtractFunction.cpp and lib/Transforms/IPO/LoopExtractor.cpp. — Gordon