In general the patch is LGTM. The only thing concerns me is that we start to populate 'Core' classes by functions which really used by the single target. http://reviews.llvm.org/D4042